Cargar frames

Hola,
estoy haciendo una web que tiene tres frames, uno de ellos llama funciones javascript que se encuentran en el frame de abajo. El caso es que funciona bien hasta que pulso un botón que me quita los tres frames para ponerme una ventana completa, esto funciona correcto. Cuando viene el problema es cuando pulso sobre el botón volver del navegador. Me da un error porque no encuentra las funciones javascript. Debe de ser que carga primero el frame de arriba y aun no tiene las funciones del frame de abajo. Sin embargo cuando ya lo ha cargado todo y le doy reload en el frame entonces si que funcionan las funciones javascript.
¿Puedo cargar un frame antes que otro? ¿Cómo puedo evitar esto? No quisiera cambiar las funciones de frame porque me interesan tenerlas en el de abajo.
Gracias
1

1 respuesta

Respuesta
1
Debes de crear la estructura de Frames SOLO con un Frame cargado y que cada Frame al acabar de cargarse carge otro, con eso te quitarias de problemas, para ello crearias una funcion en cada frame del estilo
Imagina que tenemos; Left // Center // Right
en el Left;
function CargarCentral()
{
top.Center.location="loquesea.html"
}
y luego en el texto del cuerpo pones
<body onload='CargarCentral()'>
En el Center pondrias;
function CargarDcho()
{
top.Right.location="loquesea.html"
}
y luego en el texto del cuerpo pones
<body onload='CargarDcho()'>
Con eso te debería de valer, ya que el ONLOAD se lanza con las ventanas Cargadas por lo que sus objetos y funciones ya estarán disponibles
Dime como te va
Tu idea es buena pero no me funciona :( Debe de ser algo que estoy haciendo mal, lo he implementado pero... que contrariedad, intenta ejecutar antes las funciones que el body onload!
Te explico un poco más, he puesto la función que me has dicho y el onload, después tengo el body que muestra un código html y después a pelo pongo en medio de la página lo siguiente:
<TR>
<TD colSpan=7>
<script>
parent.frames['cesta'].crear_cesta('si');
parent.frames['cesta'].botones();
</script>
... continua la página web...
Pues haciendo un alert en la función que tu me has dicho primero me da el error de que no encuentra la función crear_cesta y después me aparece el alert de tu función. Es decir, que parece que aun así primero intenta ejecutar el script que hay en medio de la página. ¿Eso es porque lo estoy poniendo a pelo ahí en medio de la página?
Gracias por tu respuesta.
Ese es el problema, tienes que ejecutar esas funciones en una de las Cargar... que te he dado, ya que el ONLOAD salta cuando se ha cargado la página ENTERA y ese es el problema, a no ser que escriban cosas en pantalla las puedes ejecutar en el correspondiente ONLOAD mejor... el javascript incondicional ahí en medio no queda muy elegante
Dime algo.
Siento ser tan pesada pero las funciones javascript si que escriben código html, por eso las tengo ahí en medio, ya sé que no es elegante pero no sé como hacerlo o cuando llamarlas ¿Se te ocurre algo más?
¿Estas llamando correctamente el orden de carga de FRAMES?
En principio si ya tienes cargados los frames con las funciones que usas daría igual el usarlas ahí en medio, asegurate de que cargas los frames con las funciones a que llamas primero y este frame el ULTIMO y sin que en su ONLOAD hagas NADA
Prueba a ver...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas