我有一個其他網站可以包含,因此他們的用戶可以將POST
表單返回到我的網站。我想優雅地處理我的網站已關閉或我的服務器無法提供內容(即響應超時或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
我剛剛得到的未找到網頁的內容在我的。事實上,這個錯誤處理程序並沒有被觸發。有沒有辦法做到這一點?
(目前我測試Chrome瀏覽器,但我想它也爲FF工作和IE> = 7)
對不起 - 好點,雖然我已經佔了這一點。查看更新:'iframe.onError = iframe.onerror = myHandler;' – 2010-09-13 23:19:02
大多數瀏覽器不允許跨域的XHR請求。這是我提供給其他網站的Javascript。事實上,XHR HTTP的跨域限制正是我在這裏使用'
它看起來這種方法適用於腳本元素,但不適用於iframe。 – jsleuth 2015-05-15 22:20:21