Actualizar "mainFrame" cada por minutos...

Amig@s, recurro a vosotros después de probar varias cosas, la cuestión es, tengo una página html (web.html) dividida en dos "frames", uno superior donde tengo un menú (menu.html) y otro principal (principal.html) donde se van abriendo las distintas páginas según seleccione en el menú.
Tengo un script que me actualiza "web.html" cada por minutos, pero al actualizar me saca del frame principal la página que se visualiza y me devuelve a la que tiene el frame por defecto desde el principio.
Lo que quiero es que el script me actualice la página abierta en el "mainFrame" (frame principal), por ejemplo, en el menú tengo para que en el frame principal se abra la página "contenido.html", y quiero que al script actualizar, lo haga sin devolverme en el frame principal de nuevo a la web "principal.html".
Y todo esto con el script contenido en la web principal, y no en la página secundaria que se abre en el "mainFrame".
¿A lo mejor me he enrollado mucho? Espero que me entiendan y a ver si alguien me da pistas de cómo resolverlo.
Un cordial saludo, y FELIZ AÑO...

1 Respuesta

Respuesta
1
Prueba con esto:
- Haz que "web.html" se cargue en un frame dentro de otra página html, por ejemplo "main.html"
- Traspasa el código javascript de refresco desde "web.html" hasta "main.html", de forma que "main.html" refresque a "web.html", es decir, que "web.html" no se "auto-refresque".
- Create en "main.html" dos variables que controlen el menú que tienes activo en ese momento, así como la página que se está mostrando en el frame para el contenido (por ejemplo, "contenido.html").
- En la carga de "web.html", en vez de definir a pelo la dirección de los frames, mira lo que vale la variable javascript del parent y crea dinámicamente la url.
- Cuando pinches en un menú, actualiza las variables javascript del "parent.parent".
Espero no haber sido demasiado teórico. Tampoco tengo mucho tiempo para escribirte todo el código, y no creo que eso fuera en tu beneficio. Intenta hacerlo tu mismo.
Agradezco mucho tu ayuda y ya tengo algo por donde empezar a probar, pero...¿sabes de algún ejemplo en la web? Las cosas aunque las encuentre casi hechas me gusta ponerme a desglosarlas y ver el por qué de cada cosa...
Saludos.
No conozco ningún ejemplo en la web que se pueda adaptar a lo que pides. De todas formas, te digo que el tema de los frames está en desuso. Ahora se suele usar ajax para cargar contenido en un div de una página, sin usar frames.
Sigue las instrucciones que te he dado:
- Crea la página "main.html" con un frame que apunte a "web.xml", y que contenga:
        1) El código javascript para refrescar el contenido del frame
        2) Las variables javascript que almacenen el menú actual y la url actual.
- En la página "web.xml" que ya tienes, quita el código de autorefresco, y no le pongas la propiedad src a los frames a pelo. En en onload del
<body>
, llama a una función que mire el valor de las propiedades del padre (por ejemplo, parent. UrlActual)l, y luego actualice la propiedad src de los frames con esos valores. De esta manera, el frame apuntará a lo que tenga guardado el padre (main.html).
- Cuando pinches en algún menú, no olvides actualizar las variables del padre. Como estarás en un frame de 2º nivel, te hará falta llamar a:
parent.parent.urlActual="contenidoMenu_2.html";
... y luego hacer lo que ya haces ahora.
Si te atascas en algún punto en concreto, preguntame de nuevo y trataré de ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas