Google chrome window.onerror在chrome中不工作
我正在尝试将onerror事件添加到我的网站Google chrome window.onerror在chrome中不工作,google-chrome,window,onerror,Google Chrome,Window,Onerror,我正在尝试将onerror事件添加到我的网站 window.onerror = function() { alert("an error"); } 但我得到的只是: notThere(); ReferenceError: notThere is not defined 我错过了什么 浏览器:Chrome 26.0.1410.64 m 复制步骤: 将代码添加到控制台 将notThere()添加到控制台 window.onerror在Chrome中工作(请参阅jsfiddle-),但显
window.onerror = function() {
alert("an error");
}
但我得到的只是:
notThere();
ReferenceError: notThere is not defined
我错过了什么
浏览器:Chrome 26.0.1410.64 m
复制步骤:
- 将代码添加到控制台
- 将notThere()添加到控制台
setTimeout
触发,例如setTimeout(function(){notThere();},0)代码>
可能重复:您可能无法处理窗口中的错误的一些其他原因。onerror
(除上述原因外):
- 另一个库在您之后设置
window.onerror
- 如果您使用的是角度误差,则误差不会通过
窗口。onerror
。您必须使用此工厂处理它们:
.factory('$exceptionHandler', function() {
return function errorCatcherHandler(exception, cause) {
console.error(exception);
if (window.OnClientError) window.OnClientError(exception);
};
})
见:
$exceptionHandler
这有什么意义呢?我想,这会劫持错误,而不是在控制台中显示错误。我想这是为了安全和隔离。因此,该站点无法访问用户在开发人员控制台上篡改的内容。不提及它会使可能的异常捕获变得混乱,或导致捕获错误的未定义行为,而这些错误不是在站点上自然发生的。因此,使用控制台的日志不会被捕获吗?我没有从window.location.href=”中获得任何信息not://anywhere";代码>。。。它只是登录到控制台,我无法捕获它。有多少错误是这样不可能得到的?