Foros del Web » Programando para Internet » Javascript »

Saber si no se ha cargado el iframe de otro dominio

Estas en el tema de Saber si no se ha cargado el iframe de otro dominio en el foro de Javascript en Foros del Web. Hola amigos!! He hecho una página web en donde tengo un iframe de otro dominio (es decir se presenta el problema de dominio cruzado). Me ...
  #1 (permalink)  
Antiguo 15/04/2011, 08:14
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 4 meses
Puntos: 3
Saber si no se ha cargado el iframe de otro dominio

Hola amigos!!


He hecho una página web en donde tengo un iframe de otro dominio (es decir se presenta el problema de dominio cruzado). Me gustaría saber cuando el iframe falla. Por ejemplo porque el servidor del dominio este caído, etc. Evidentemente el navegador te informa pero me gustaría obviar el mensaje del navegador y darle uno personalizado al usuario.

Se que se puede saber que todo a ido bien con la directiva load, pero como se cuando no ha ido bien.??

Alguna sugerencia haciendo uso de ajax, etc.
  #2 (permalink)  
Antiguo 15/04/2011, 08:16
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Saber si no se ha cargado el iframe de otro dominio

Hay algunos eventos como onerror u onabort que sirven para eso, pero si no te dejara ponerlos por ser la página de otro dominio siempre puedes servirla en el tuyo
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 15/04/2011, 09:59
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Saber si no se ha cargado el iframe de otro dominio

Hola _cronos2!!!

Ante todo gracias por la respuesta. Pero la solución no es válida, no funciona. Creo que es porque con los iframes no funciona el onerror...

Si fuese del mismo dominio ya se como lo haría, pero el problema es que el iframe es de un dominio diferentee...

Si a alguien más se le ocurre otra idea, por favor que la diga
  #4 (permalink)  
Antiguo 15/04/2011, 11:27
 
Fecha de Ingreso: abril-2010
Ubicación: df
Mensajes: 26
Antigüedad: 14 años
Puntos: 9
Respuesta: Saber si no se ha cargado el iframe de otro dominio

Tienes control de lo que sucede en el otro dominio?
  #5 (permalink)  
Antiguo 15/04/2011, 14:55
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Saber si no se ha cargado el iframe de otro dominio

Si, tengo control de lo que sucede en el otro dominio!!. Se te ocurre alguna forma de detectar cuando el iframe no ha sido cargado, sabiendo que están en diferentes dominios ¿?
  #6 (permalink)  
Antiguo 15/04/2011, 15:38
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: Saber si no se ha cargado el iframe de otro dominio

no hay ninguna forma de exactamente de detectar cuando saca un error de carga (404/500); lo que puedes hacer es usar un evento load, y si este evento no se dispara en cierta cantidad de tiempo, se da por sentado que fallo la carga y se ejecuta un codigo basado en eso.

En jQuery seria:
Cita:
$("#iframe").load(function(){
var cargo = "true"
})

setTimeout(function(){
if(cargo){} else {
// Lo que tiene que hacer si no cargo la pagina luego de 6 segundos
}

},6000)
  #7 (permalink)  
Antiguo 15/04/2011, 16:45
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Saber si no se ha cargado el iframe de otro dominio

mi propuesta viene a raíz de los eventos que mencionó _cronos2 . veamos si tiene sentido.
el punto es intentar carga una imagen que esté en el servidor de la página que intentamos cargar
Cita:
<!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=utf-8" />
<title></title>
<script type="text/javascript">
window.onload = function() {cargar();};



function cargar(){
control = new Image();
control.src = 'h t t p://static.forosdelweb.com/fdwtheme/logo-navidad.png?'+Math.random();
window.f=document.createElement('div');
control.onerror = function() {
f.innerHTML='<iframe width="500px" height="500px" src="http://www.forosdelweb.com/f13/intentandoerrar/" />';
}
control.onload = function() {
f.innerHTML='<iframe width="500px" height="500px" src="http://www.forosdelweb.com/" />';
}
document.body.appendChild(f);
}
</script>
</head>
<body>
</body>
</html>
si se carga, el iframe apunta hacia una url, sino hacia otra
  #8 (permalink)  
Antiguo 16/04/2011, 04:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 79
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Saber si no se ha cargado el iframe de otro dominio

Hola amigos!!!

Muchas gracias a todos por participar!! Principalmente a _Cronos2 y a IsaBelM porque su respuesta ha sido la solución del problema...

La solución de IsaBelM es la que andaba buscando. Doy por cerrado el tema

Etiquetas: iframe, dominios
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:13.