Foros del Web » Programación para mayores de 30 ;) » Programación General »

XML carga en iframe a la segunda

Estas en el tema de XML carga en iframe a la segunda en el foro de Programación General en Foros del Web. Hola a todos!! Llevo con este problema desde hace mucho tiempo y no he podido solucionarlo aún. Les cuento: Una página tiene que cargar un ...
  #1 (permalink)  
Antiguo 16/01/2005, 10:53
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 20 años, 8 meses
Puntos: 1
XML carga en iframe a la segunda

Hola a todos!!

Llevo con este problema desde hace mucho tiempo y no he podido solucionarlo aún.
Les cuento:

Una página tiene que cargar un archivo xml (la única forma que conozco es usando un iframe), una vez cargado ese archivo xml

contiene las instrucciones para realizar cambios en la página por medio de funciones javascript. Toda la historia se centra

en la carga del archivo, la realizo en un iframe por http cada 30 segundos.

El problema es que el contenido nunca está disponible en el iframe hasta la SEGUNDA VEZ que se carga con el consiguiente

desfase de lo que tiene que hacer.

Adjunto el código que lo realiza:

-Por un lado está el iframe:

<iframe id="buffer" name="buffer" scrolling="No" src=""></iframe>


-Por otro el código que recibe periódicamente es:

MyInterval = setInterval('carga()',30000);

function carga() {
buffer.location.href = URL;
ContenidoXMLLeido = buffer.contentDocument.body.innerText;
}

Y... lo dicho, el contenido aparece en la variable 'ContenidoXMLLeido' siempre en la segunda petición.

¿Puede alguien a solucionar este problema?

Un saludo.
Miguel.
  #2 (permalink)  
Antiguo 31/01/2005, 19:30
 
Fecha de Ingreso: diciembre-2004
Ubicación: Iquique, Chile
Mensajes: 150
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola;

No se si será tarde, pero no se carga ya que espera al segundo llamado.

Se soluciona de la siguiente manera;

1- Tienes la function carga(), el cual muestra normalmente el contenido.

Cita:
function carga()
{
buffer.location.href = URL;
ContenidoXMLLeido = buffer.contentDocument.body.innerText;
}
2- Tener al menos una segunda function carga2(), el cual se acciona cada 30 segundos refrescando el iframe actual.

Cita:
function carga2()
{
buffer.location.href = URL;
ContenidoXMLLeido = buffer.contentDocument.body.innerText;
setInterval('carga()',30000);
}
El problema, es que tienes el setInterval, esta programado mostrar el contenido cada 30 segundos al cargarse, jamas se muestra a la primera carga.

<body onload="carga();carga2();">

Nos vemos.
  #3 (permalink)  
Antiguo 01/02/2005, 04:07
 
Fecha de Ingreso: agosto-2003
Ubicación: Málaga, España
Mensajes: 419
Antigüedad: 20 años, 8 meses
Puntos: 1
Hola y gracias por tu respuesta !

Pues no es tarde porque todavía sigo con este problema..
Bueno, quizás se me olvidó decir que la carga la efectúo constantemente y no una aúnica vez... por lo que desgraciadamente no lo soluciono con el código que me muestras :(

Bueno, seguiré probando cosas.

Un saludo.
Miguel.
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 04:54.