如何捕捉所有I帧(与window.error)JavaScript错误?(How to catch

2019-07-04 02:07发布

我知道一个可以添加事件侦听器window.error。

然而,随着I帧工作时,每一个iframe都有其自己的窗口元素, window.error应该为每一个创建iframe

是否有可能以某种方式在一个位置,所有的错误都将触发这个特定的方法来定义错误事件处理程序?

Answer 1:

这可能会实现。

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);


Answer 2:

我没有试过,所以请不要挂我吧:-)在保存所有的I帧的主/父窗口,你可以有你创建错误处理功能。 然后使用jQuery抓住所有的I帧的在你的页面并注册.error处理程序指向你的父窗口注册功能。

PS:也同时是对JavaScript错误处理的话题,这是很酷: https://damnit.jupiterit.com/



文章来源: How to catch JavaScript errors in all Iframes (with window.error)?