Tengo un que otros sitios pueden incluir para que sus usuarios puedan POST
un formulario de regreso a mi sitio. Me gustaría manejar con agrado los casos en que mi sitio no funciona o mi servidor no puede servir el contenido (es decir, un tiempo de espera de respuesta o un error 4xx o 5xx). He intentado añadir un onError
al objeto , pero eso no parece hacer nada:¿Cómo puedo manejar los errores al cargar un iframe?
showIFrame = function() {
var iframe = document.createElement('iframe');
iframe.id = 'myIFrame';
iframe.src = 'http://myserver.com/someURLThatFailsToLoad';
iframe.onError = iframe.onerror = myHandler;
document.body.appendChild(iframe);
};
myHandler = function(error) {
document.getElementById('myIFrame').style.display = 'none';
console.error('Error loading iframe contents: ' + error);
return true;
};
Si mi servidor devuelve un 404
apenas consigo el contenido de la página no se encuentra en mi . De hecho, ese controlador de errores nunca se dispara. ¿Hay alguna manera de hacer que esto funcione?
(Estoy probando en Chrome, pero me gustaría que funcione también para FF y IE> = 7.)
lo siento, gran punto, aunque ya lo había explicado. Ver la actualización: 'iframe.onError = iframe.onerror = myHandler;' –
La mayoría de los navegadores no permiten las solicitudes de XHR entre dominios. Esto es Javascript que proporciono a otros sitios. De hecho, las restricciones entre dominios de XHR HTTP son exactamente la razón por la que estoy usando un '
parece que este enfoque funciona con un elemento script, pero no con un iframe. – jsleuth