gpt4 book ai didi

javascript - 如何处理加载 iframe 时的错误?

转载 作者:技术小花猫 更新时间:2023-10-29 12:05:04 26 4
gpt4 key购买 nike

我有一个 <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。)

最佳答案

要检测您的服务器是否已关闭,您可以包含一个来自您自己域的空脚本文件。当服务器关闭时,onerror 事件处理程序将触发:

var el = document.createElement('script');
el.onerror = errorFunction;
el.src = "somebogusscript.js?" + new Date().getTime();
document.body.appendChild(el);

注意:不要忘记将随机字符串添加到 src 属性以避免客户端使用缓存版本(这可能会完全停止查看服务器)。

关于javascript - 如何处理加载 iframe 时的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3705083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com