[英]Error handling iframe with js
我正在使用$("#element").attr("src", "http://url.com/page");
设置几个iframe
有没有一种方法可以确定在设置特定的iframe时是否发生HTTP错误并相应地进行处理?
不幸的是, <iframe>
的onerror
事件不再起作用。
不过,您可以使用类似的解决方法:
将load
事件绑定到要load
所有iframe
为每个<iframe>
抛出一个具有任意时间的setTimeout
,平均时间小于等于60000(1mn)
如果加载事件触发,则清除setTimeout
。
它不是完整的错误处理,而是一种解决方法。 我以前使用JSONP
请求来执行此操作,因为也没有错误处理。
var timeout;
$("#iframe").attr("src", "url-cross-domain.html").on("load", function() {
clearTimeout(timeout);
console.log("loaded !");
}):
timeout = setTimeout(function() {
$("#iframe").off("load").remove();
console.error("iframe loading failed");
}, 60000);
它有几个限制,例如,您将无法获得请求响应代码。 但是值得一试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.