我想知道是否有人在全局处理 JavaScript 错误并将它们从客户端浏览器发送到服务器方面有经验。
我想我的观点很清楚,我想知道客户端发生的每个异常、错误、编译错误等,并将它们发送到服务器报告它们。
我主要使用 MooTools 和head.js
(用于 JS 端)和 Django 用于服务器端。
我想知道是否有人在全局处理 JavaScript 错误并将它们从客户端浏览器发送到服务器方面有经验。
我想我的观点很清楚,我想知道客户端发生的每个异常、错误、编译错误等,并将它们发送到服务器报告它们。
我主要使用 MooTools 和head.js
(用于 JS 端)和 Django 用于服务器端。
我会检查window.onerror
例子:
window.onerror = function(message, url, lineNumber) {
//save error and send to server for example.
return true;
};
请记住,返回 true 将阻止触发默认处理程序,返回 false 将让默认处理程序运行。
如果您的网站使用的是 Google Analytics,您可以按照我的操作:
window.onerror = function(message, source, lineno, colno, error) {
if (error) message = error.stack;
ga('send', 'event', 'window.onerror', message, navigator.userAgent);
}
对上面代码的一些评论:
代码到位后,您可以通过以下方式查看用户的 Javascript 错误:
Behavior
部分,然后点击Top Events
报告。window.onerror
在列表中单击。Secondary dimension
按钮并Event Label
在出现的文本框中输入,为您的用户的操作系统/浏览器版本的报告添加一列。不要尝试使用第三方服务,而是尝试自己的服务。
错误处理程序可以捕捉以下场景,
捕捉 Javascript 错误:
window.addEventListener('error', function (e) {
//It Will handle JS errors
})
捕获 AngularJS 错误:
app.config(function ($provide) {
$provide.decorator('$exceptionHandler', function ($delegate) {
return function (exception, cause) {
//It will handle AngualarJS errors
}
})
})