Foros del Web » Programando para Internet » Javascript »

Cómo detectar cuando un iframe terminó de cargar?

Estas en el tema de Cómo detectar cuando un iframe terminó de cargar? en el foro de Javascript en Foros del Web. Quisiera detectar con Javascript cuando un iframe terminó de cargar. He probado con onload pero esto solo funciona cuando carga por primera vez. Al hacer ...
  #1 (permalink)  
Antiguo 29/11/2008, 12:39
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años, 7 meses
Puntos: 9
Cómo detectar cuando un iframe terminó de cargar?

Quisiera detectar con Javascript cuando un iframe terminó de cargar.

He probado con onload pero esto solo funciona cuando carga por primera vez. Al hacer una segunda carga ya no funciona.
  #2 (permalink)  
Antiguo 29/11/2008, 12:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Respuesta: Cómo detectar cuando un iframe terminó de cargar?

Hola Gustavo72

¿Pones el onload en las páginas que cargas en el iframe o en la página principal? Te adelanto que si las páginas que van en el iframe no son tuyas no podrás hacer nada.

Saludos,
  #3 (permalink)  
Antiguo 29/11/2008, 12:51
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años, 7 meses
Puntos: 9
Respuesta: Cómo detectar cuando un iframe terminó de cargar?

Las páginas son mías pero las acciones las tengo que realizar sobre la página principal así que la detección debería hacerla esta.
  #4 (permalink)  
Antiguo 29/11/2008, 13:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Cómo detectar cuando un iframe terminó de cargar?

Probá así:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title></title>
<
script>
function $(
id){
    return 
document.getElementById(id);    
}
var 
asignar=setInterval(function(){
    if($(
'pp')){
        if(
window.ActiveXObject){
            $(
'pp').onreadystatechange=function(){
                if($(
'pp').readyState=='complete'){
                       
alert('cargó');
                }
            }
            
clearInterval(asignar);
            return;
        }
        $(
'pp').onload=function(){
            
alert('cargó');
        }
        
clearInterval(asignar);
    }
},
10);
</script>
</head>

<body>
<iframe id="pp" width="300" height="200" src="b.php"></iframe>
</body>
</html> 

Última edición por Panino5001; 29/11/2008 a las 13:41 Razón: mejorar indentado
  #5 (permalink)  
Antiguo 29/11/2008, 14:04
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años, 7 meses
Puntos: 9
Respuesta: Cómo detectar cuando un iframe terminó de cargar?

Magnífico hice una prueba rápida y funcionó 10 puntos para: Firefox 3, IE7, Safari y Chrome.

Saludos y mil gracias Panino5001.
  #6 (permalink)  
Antiguo 29/11/2008, 14:10
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Cómo detectar cuando un iframe terminó de cargar?

Me alegra que te haya servido
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 06:00.