如何在所有的iframe(与window.error)中捕获JavaScript错误? [英] How to catch JavaScript errors in all Iframes (with window.error)?
本文介绍了如何在所有的iframe(与window.error)中捕获JavaScript错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道可以为window.error添加事件监听器。
然而,当使用iframe时,每个 iframe
有自己的窗口元素,并且应该为每个 iframe
创建 window.error
。
是否可能在一个位置定义错误事件处理程序,其中所有错误将
触发此特定方法?
函数myHandler(msg,url,line){
// do stuff here ...
}
//钩在所有框架中
函数addErrorHandler(win,handler){
win.onerror = handler;
for(var i = 0; i< win.frames.length; i ++){
addErrorHandler(win.frames [i],handler);
}
}
//从此窗口开始...并递归处理
addErrorHandler(window,myHandler);
I know one can add event listener for window.error.
However when working with Iframes, each iframe
has its own window element, and window.error
should be created for each and every iframe
.
Is it possible somehow to define error event handler in one location, where all errors will trigger this specific method?
解决方案
This might work.
function myHandler(msg, url, line){
//do stuff here...
}
//hook in all frames...
function addErrorHandler(win, handler){
win.onerror = handler;
for(var i=0;i<win.frames.length;i++){
addErrorHandler(win.frames[i], handler);
}
}
//start with this window... and add handler recursively
addErrorHandler(window, myHandler);
这篇关于如何在所有的iframe(与window.error)中捕获JavaScript错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文