我最近在Web应用程序中添加了一个window.onerror处理程序。处理程序将错误的详细信息(与处理程序公开一样多)发布到我的服务器,这样我就可以看到用户看到的错误类型。问题是我看到了很多这些:
ReferenceError: Can't find variable: imenu_title
或
ReferenceError: Can't find variable: imenu_list_id
这些用户代理一直是iPhone,例如:
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206
我没有任何使用这些变量的代码,我怀疑这些错误实际上是来自某些用户的iPhone浏览器上安装的某种扩展程序。任何人都能认出这些并指出我正确的方向吗?
答案 0 :(得分:1)
不幸的是,对窗口对象使用onerror处理程序时会出现中断。我从javascirpt中获得了更多令人费解的错误,这些错误来自病毒和链接扫描程序,工具栏,甚至是某些浏览器的某些版本,而不是我实际的页面错误。可理解的那些通常是由内联javascript引起的(我知道的但是很快就可以使用良好的代码来快速替换测试),它在加载它所使用的库之前被激活,或者加载了它所需的DOM部分。
没有办法不发生这些错误,但它们很可能不会影响您的页面在浏览器中的工作方式。有关获取有用的错误报告的详细信息,请参阅https://stackoverflow.com/questions/8528005/are-there-any-tools-for-automatically-reporting-errors-from-client-side-javascri