Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕获iframe异常_Javascript_Html_Exception_Iframe - Fatal编程技术网

Javascript 捕获iframe异常

Javascript 捕获iframe异常,javascript,html,exception,iframe,Javascript,Html,Exception,Iframe,当我在iframe上设置src属性时,有时会将错误记录到控制台(似乎是未捕获的异常),并且从未加载目标 例如,如果我设置myiframe.src=http://www.google.com“,它永远不会加载,我的Chrome开发者工具将记录以下消息: Refused to display document because display forbidden by X-Frame-Options. 我理解这个错误是什么,但是我想捕捉这个异常,这样当一个网站不想被加载到iframe中时,我就可以处

当我在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
似乎也不起作用。

看看:

这本质上是一个全局的回退错误处理程序。关于如何使用这个方法的更多信息,请在Google上搜索一下,但请注意,这种方法存在跨浏览器兼容性问题,您必须解决,特别是IE浏览器系列

这可能适用于IFRAME元素,也可能不适用于IFRAME元素,因此YMMV

更新:

看看这个问题


窗口。OneError似乎没有捕捉到它。另外,正如我在文章中提到的,
iframe.onerror
也不明白:(我会尝试使用它,如果发现任何有趣的内容,我会进行更新。不幸的是,window.onerror没有捕捉到它。或者,您可以XmlHttpRequest并使用document.write将响应注入iframe。这可能会对您有所帮助。因此,在此添加,iframe在发生错误时不会触发onerror,必须在根据
的onload处理程序仅在iframe加载完成时加载事件。它会在加载成功和出错时触发。这是出于历史原因。