У меня есть <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.)