Foros del Web » Programando para Internet » Javascript »

control de apertura condicionado

Estas en el tema de control de apertura condicionado en el foro de Javascript en Foros del Web. . Hola a todos. Tengo 6 paginas que se cargan de forma consecutiva en el mismo iframe., y cada una a de realizar una funcion ...
  #1 (permalink)  
Antiguo 01/04/2005, 14:29
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
control de apertura condicionado

.

Hola a todos.

Tengo 6 paginas que se cargan de forma consecutiva en el mismo iframe., y cada una a de realizar una funcion 'script' antes de que se cargue la siguiente.
El caso es que depende de que pagina se cargue tarda mas o menos en hacer el script, y lo que quiero es que no habra la siguiente pagina hasta que la precedente no haya terminado.

Lo estoy haciendo con settimeout:

function cargaframes(){
window.frames[0].location.href=ruta+fr[cf]+'.html'
if(cf<fr.length-1){

cf++
setTimeout('cargaframes()',500)
}

}


pues no he logrado hacerlo con do while., pero tengo que poner un tiempo altisimo '500ms' para que cargue todas correctamente. Aun asi, esto no vale, pues todos los ordenadores no tienen la misma velocidad de proceso.

¿Como podria lograrlo? Espero vuestras respuestas ,gracias..

.
  #2 (permalink)  
Antiguo 01/04/2005, 15:10
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola programeitor:

La página que se carga activa el evento onload (a nivel de etiquetas)...
Te podría servir usar en cada página el evento onload para cambiar el script:

<body onload="parent.cargaframes()" ... >
Claro que si en esos scripts hay imágnes, deberías precargarlas.

Espero que te sirva.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 01/04/2005, 17:25
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
.

Hola caricatos.

Ya estoy utilizando el evento onload en cada pagina, precisamente para iniciar su script., pero tu punto de vista creo que puede ser efectivo .

En vez de hacer un bucle en 'parent' ,hacer una rellamada a su funcion desde cada pagina., una vez realizado su script, hasta que no haya mas paginas que cargar, lo malo es que voy a tener que cambiar cada una de las paginas, pero seguro que funciona.

........

Pues si , funciona ,y tampoco a sido tanto añadir una linea a cada pagina (menos mal que eran solo 6 ).

El script lo que hace es leer el codigo html de un div de la pagina cargada y trasladarlo a un div de 'parent'.

Perfecto.

Muchas gracias caricatos ,me has sido de gran ayuda. Saludos.

.

Última edición por programeitor; 01/04/2005 a las 17:31
  #4 (permalink)  
Antiguo 04/04/2005, 01:20
 
Fecha de Ingreso: abril-2005
Ubicación: Logroño (La Rioja - España)
Mensajes: 1
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Esto me interesa..

hola, programeitor. Yo tb estoy intentando leer el contenido html de un div desde un formulario en una pagina padre. El div esta en uno de los hijos, en un iframe del padre.
¿Me indicarias como haces referencia al valor del div? creo que es algo asi
(desde elpadre)
window.frames['nombre_hijo'].div.(?)
  #5 (permalink)  
Antiguo 04/04/2005, 16:34
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Traspaso de datos entre ventanas

Que hay dani_cpt, nuevo por estos lares?

No he logrado hacerlo de esa forma..... y lo he intentado......
Como lo he conseguido? Poniendo una funcion en el 'hijo', que carga el contenido de un div suyo, y lo pasa al 'padre', ya sea a un <div> o una variable.

Teniendo un <div id=origen> en hijo y otro <div id=destino> en 'padre'
window.parent.document.getElementById("destino").innerHTML=window.document.getElementById("origen").innerHTML;

Para pasar el contenido del div a una variable:

window.parent.variable=window.document.getElementById("origen").innerHTML;

Si logras hacerlo -como me preguntabas-, hazmelo saber. Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:23.