如何在所有Iframe中捕获JavaScript错误(使用window.error)?

Tal*_*Tal 6 javascript error-handling iframe

我知道可以为window.error添加事件监听器.

但是,在使用Iframe时,每个iframe都有自己的窗口元素,window.error应该为每个窗口元素创建iframe.

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

scu*_*ffe 6

这可能会奏效.

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);
Run Code Online (Sandbox Code Playgroud)