Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Recargar todo menos el iframe

Estas en el tema de Recargar todo menos el iframe en el foro de Frameworks JS en Foros del Web. Hola a todos, El script que teneis al final de este post recarga la página productos.php cada 3 segundos sin que el visitante lo note ...
  #1 (permalink)  
Antiguo 06/05/2009, 04:47
 
Fecha de Ingreso: febrero-2008
Mensajes: 63
Antigüedad: 16 años, 9 meses
Puntos: 0
Recargar todo menos el iframe

Hola a todos,

El script que teneis al final de este post recarga la página productos.php cada 3 segundos sin que el visitante lo note en absoluto.

productos.php contiene divs con información proveniente de un xml que cambia, de ahí que productos.php tenga que ser refrescado tan a menudo.

El problema:
productos.php ademas de los divs contiene un iframe. El iframe carga una url que muestra videos. Al refrescar la página cada 3 segundos el video también se recarga haciendo que a ojos del visitante parpadee cada 3 segundos.

¿Cómo puedo modificar el script para que se recarge todo en productos.php menos el iframe y su contenido?

Muchas gracias de antenamo por la ayuda!!




Código:

<script type="text/javascript">
function getHTTPObject() {
 
 var request = false;
        try {
            request = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                request = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
                                try {
                                request = new XMLHttpRequest();
                                }
                                catch (err1) 
                                {
                                request = false;
                                }
            }
        }
    return request;
 
}
 
var ajaxRequest = getHTTPObject(); // creamos HTTP Object
 
setInterval(getPagina, 3000); // 3 segundos
function getPagina() {
 
                ajaxRequest.open("GET", "productos.php", true);
                ajaxRequest.onreadystatechange = showPagina;
                ajaxRequest.send(null); 
                
}
                        
function showPagina()
{
                if(ajaxRequest.readyState == 4){

                  var ajaxDisplay = document.getElementById('mostrar');
                  ajaxDisplay.innerHTML = ajaxRequest.responseText;

                                
                }                                               
}
window.onload=function(){
        getPagina(); 
}
</script>

<div id="mostrar"></div>
  #2 (permalink)  
Antiguo 06/05/2009, 10:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Recargar todo menos el iframe

Hola:

Supongo que recargas todo en la línea:
Código:
ajaxDisplay.innerHTML = ajaxRequest.responseText;
Si es así, me temo que debes de dejar de usar innerHTML de forma global, y refrescar las capas por separado... Para ello, tal vez sea mejor recibir los datos por responseXML (a mi me gusta más), o en formato json, y omitir el refresco del iframe...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:04.