У меня есть <iframe>
, который могут включать другие сайты, чтобы их пользователи могли POST
вернуть форму на мой сайт. Я хотел бы изящно обрабатывать случаи, когда мой сайт отключен, или мой сервер не может обслуживать содержимое <iframe>
(то есть тайм-аут ответа или ошибку 4xx или 5xx). Я попытался добавить объект onError
к объекту <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;
};
Если мой сервер возвращает 404
, я просто получаю содержимое не найденной страницы в <iframe>
. Фактически, этот обработчик ошибок никогда не срабатывает. Есть ли способ сделать эту работу?
(Я сейчас тестирую в Chrome, но мне бы хотелось, чтобы он также работал для FF и IE >= 7.)