捕获 iframe 异常 [重复]
Posted
技术标签:
【中文标题】捕获 iframe 异常 [重复]【英文标题】:Catch iframe exceptions [duplicate] 【发布时间】:2012-07-13 22:17:30 【问题描述】:当我在 iframe 上设置 src
属性时,有时会向控制台记录错误(似乎是未捕获的异常),并且永远不会加载目标。
例如,如果我设置 myiframe.src = 'http://www.google.com'
,它永远不会加载,我的 Chrome 开发人员工具将记录以下消息:
Refused to display document because display forbidden by X-Frame-Options.
我知道这个错误是什么,但我想捕捉这个异常,以便在网站不想加载到 iframe 时处理它。
因为设置 iframe src
是半异步的,所以我不能只用 try catch 包围该行。
如何处理 iframe 错误? iframe.onerror
和 iframe.onabort
似乎也没有用。
【问题讨论】:
或者你可以 XmlHttpRequest 并使用 document.write 将响应注入 iframe.. ***.com/questions/6666423/…这可能对你有帮助 所以,在这里添加,iframe 在出现错误时不会触发 onerror,错误处理必须在 onload 处理程序中按照javascript.info/onload-onerror#other-resources<iframe> Only load event when the iframe loading finished. It triggers both for successful load and in case of an error. That’s for historical reasons.
【参考方案1】:
看看:
https://developer.mozilla.org/en/DOM/window.onerror
这本质上是一个全局的后备错误处理程序。谷歌一下以获取有关如何使用此方法的更多信息,但请注意,您必须解决此方法的跨浏览器兼容性问题,尤其是 IE 浏览器系列。
这可能适用于 IFRAME 元素,也可能不适用于 YMMV。
更新:
看看这个问题。
How to catch JavaScript errors in all Iframes (with window.error)?
【讨论】:
window.onerror
似乎没有抓住它。另外,就像我在帖子中提到的那样,iframe.onerror
也没有得到它:(
如果我发现任何有趣的东西,我会尝试使用它并更新。
不幸的是,window.onerror 没有捕捉到它。以上是关于捕获 iframe 异常 [重复]的主要内容,如果未能解决你的问题,请参考以下文章