8

是否可以跟踪访问者遇到的 JS 错误?显然我们自己做测试,但有时访问者会运行某个浏览器版本,或者有一个特定的插件,这会导致 JS 错误。同样,有时 JS 中的错误会被忽视。

如果我们能以某种方式捕获这些事件,并在我们的服务器上 ajax 一个包含错误详细信息的脚本,这样我们就可以尝试解决问题,这将非常有用。

更新: 感谢您的反馈。通常在发布后我设法找到:
Logging Clientside JavaScript Errors on Server
which has the stuff on window.onerror 还有一些关于 JQuery 和 FireFox onerror 多年未修复的有趣问题...

4

3 回答 3

4

是的,使用 window.onerror。

对于 AJAX 日志记录部分,不要依赖任何可能在错误发生后运行的代码。您可能希望通过使用动态插入的脚本标记发出请求,并将源设置为您的服务器脚本,并将数据作为 GET 参数,以使其尽可能简单。但是,请注意,使用 GET 会限制 src 路径中的字符数(在 IE 中约为 2000)。

不管你怎么做,保持简单很重要,因为你不希望你的错误记录代码在最有可能运行的情况下容易出错(边缘情况)。

您需要在非生产环境中禁用此功能,否则可能会掩盖问题。

于 2011-02-27T22:39:25.570 回答
2

是的,您可以使用window.onerror处理程序。

于 2011-02-27T21:57:42.530 回答
2

可以使用 JS 中的 onerror 事件来获取错误的详细信息。例如, Hoptoad这样做并将错误记录到他们的控制台,他们的代码重用了许多不错的 JS 脚本,包括一个很棒的 printStackTrace 函数......

你可以在这里看到他们是如何做到的:

http://hoptoadapp.com/javascripts/notifier.js

于 2011-02-27T22:43:44.607 回答