1

当发生 javascript 错误时,我正在使用 awindow.onerror=function(msg, url, linenumber)向自己发送电子邮件。当我使用我的网页(IE、FF、CHRM 等)时,我没有收到任何错误。但是,我收到了其他用户通过电子邮件发送给我的各种错误,这些错误我无法复制。我可能会在访问该网站的 1% 的用户中发生错误,因此 1/100 页面加载时我会收到错误。这里有一些:

我不明白的是,该网站 99% 的时间都在运行而没有任何错误,而且在我使用的任何浏览器上似乎都不会发生错误。我还在跟踪用户正在使用哪些浏览器发送这些错误,这是随机的,各种浏览器,它们都是较新的 FF,主要是 IE 版本。

你如何停止外部代码的语法错误(但它们大部分时间都有效)......?为什么 google 和 thawte 脚本无法经常加载某些人但从未发生在我身上,有没有办法对此进行回退?日期选择器之一,我只能假设它的错误是因为 jquery UI 加载失败,因为 jquery 加载(否则它不会在文档就绪调用中被调用)但我什至有一个 localhost jquery UI 脚本后备包含它仍然会发生。 .

有没有人建议我帮助我进一步调试/修复这些问题。问题是,该网站获得了很多点击,我每分钟都会收到大约 1 个通过电子邮件发送给我的错误(而且导致每个错误的不是同一个用户)。如果您有任何建议,请告诉我(请记住,代码和网站在 99% 的情况下都可以正常工作,所以我认为这在我的任何地方都不是语法问题)。

谢谢你的时间。

4

2 回答 2

1

列表中的大多数错误是由浏览器扩展中的错误引起的。

如果您真的想记录 JavaScript 错误,最好也记录堆栈跟踪(如果可用)。我还记录有关执行的函数和发送给它的参数的详细信息。当错误被捕获时,我从我构建的堆栈中删除了 X 数量的东西并将其发送出去。

于 2013-01-14T21:30:48.187 回答
1

你如何停止外部代码的语法错误(但它们大部分时间都有效)......?

你真的不能。没有更详细的消息调查是完全不可能的。请注意,sysntax 错误也可能是由其他原因引起的,它们的来源可能不在外部脚本中。我怀疑 Google Analyticts 提供的脚本无效。

为什么谷歌和解冻脚本无法经常加载某些人但从未发生在我身上

他们可能会使用广告拦截器或类似的工具。不是每个人都希望谷歌记录他的网络使用情况。此外,某些代理可能会忽略/阻止它们,例如 Intranet 防火墙。

有没有办法对此进行回退?

您可以尝试从您自己的域作为代理提供它们。或者只是忽略它们,我不认为你的应用真的需要这些的后备。

日期选择器之一,我只能假设它的错误,因为 jquery UI 无法加载,因为 jquery 仍然加载

是的,这听起来很可能。或者它只是在被调用之前没有加载。

但我什至有一个 localhost jquery UI 脚本后备包含,它仍然会发生..

本地主机?我猜你的意思是服务器上的副本。尽管如此,这仍取决于脚本及其后备版本的加载方式的详细信息。

有没有人建议我帮助我进一步调试/修复这些问题。

堆栈跟踪将有助于定位导致错误的用户操作。

于 2013-01-14T21:42:30.497 回答