she*_*hen 24 javascript error-handling jquery stack-trace
我的项目包含很多带有表单的页面.这是银行CRM系统的后端,因此可以捕获和调查工作过程中的任何错误.在服务器端,我们有增强的java异常系统,但是如果在客户端发生错误 - javascript我们现在获得的唯一信息是IE中的js-error窗口,或者有时是高级用户制作的页面截图.
Javascript代码包含Jquery支持的UI扩展和硬编码的内联事件处理程序和函数.
所以我问是否可以使用任何捕获任何类型的js-errors的方法?一些额外的库或某些东西可以给我一个像Mozilla中的firebug或Chrome中的web控制台的堆栈跟踪?
voi*_*hos 29
看看window.onerror.如果您想捕获任何错误并将它们报告给服务器,那么您可以尝试使用AJAX请求.
window.onerror = function(errorMessage, errorUrl, errorLine) {
jQuery.ajax({
type: 'POST',
url: 'jserror.jsf',
data: {
msg: errorMessage,
url: errorUrl,
line: errorLine
},
success: function() {
if (console && console.log) {
console.log('JS error report successful.');
}
},
error: function() {
if (console && console.error) {
console.error('JS error report submission failed!');
}
}
});
// Prevent firing of default error handler.
return true;
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*mer 15
免责声明:我是Sentry的首席执行官和创始人,这是一种开源和付费服务,可以为许多语言(包括Javascript)进行崩溃报告.
捕获前端异常可能非常具有挑战性.技术已经变得更好(浏览器JS引擎),但仍然存在很多局限性.
window.onerror因各种原因而依赖(主要是因为浏览器历史上在这里提供了不好的信息).我们在raven.js客户端(基于TraceKit)中所做的是修补许多函数来将它们包装在try/catch语句中.例如,window.setTimeout.有了这个,我们就可以安装错误处理程序,在大多数浏览器中生成完整的堆栈跟踪.您应该在服务器上注意的一些事项:
| 归档时间: |
|
| 查看次数: |
18767 次 |
| 最近记录: |