是否可以跟踪访问者遇到的JS错误?显然我们自己做测试,但访问者不时会运行某个浏览器版本,或者有一个特定的插件,因为它会导致JS错误。同样地,有时JS中的错误会被忽视。
如果我们能够以某种方式捕获这些事件,并在我们的服务器上使用错误的详细信息来调用脚本以便我们可以尝试解决问题,那将非常有用。
更新
感谢您的反馈。通常在发布后我设法找到:
Logging Clientside JavaScript Errors on Server
哪个有关于window.onerror的东西,还有一些关于JQuery和FireFox onerror bug的有趣的东西,多年来一直没有修复......
答案 0 :(得分:4)
是的,请使用window.onerror。
对于AJAX日志记录部分,请不要依赖发生错误后可能运行的任何代码。您可能希望通过动态插入的脚本标记使请求尽可能简单,并将源设置为您的服务器脚本,并将数据作为GET参数。但是,请注意,使用GET将限制您在src路径中的字符数(IE中为~2000)。
但是你这样做,重要的是保持简单,因为你不希望你的错误记录代码在最有可能运行的情况下(边缘情况)容易出错。
您需要在非生产环境中禁用此功能,否则可能会出现问题。
答案 1 :(得分:2)
是的,您可以使用window.onerror处理程序。
答案 2 :(得分:2)
您可以使用JS中的onerror事件来获取错误的详细信息。 Hoptoad这样做,并将错误记录到他们的控制台,他们的代码重新使用了很多不错的JS脚本,包括一个很棒的printStackTrace函数......
你可以在这里看到他们是如何做到的: