多个不同的Javascript错误不能重复

Multiple Different Javascript Errors Can't Duplicate

本文关键字:错误 不能 Javascript      更新时间:2023-09-26

当发生javascript错误时,我使用window.onerror=function(msg, url, linenumber)发送自己的电子邮件。当我使用我的网页(IE, FF, CHRM等),我没有收到任何错误。然而,我从其他用户那里得到了各种各样的错误,我无法复制。我可能会得到一个错误发生在1%的用户访问网站,所以1/100页面加载我得到一个错误。以下是一些:

  • 语法错误:http://www.google-analytics.com/ga.js
  • 加载脚本出错:http://www.google-analytics.com/ga.js
  • 加载脚本出错:https://seal.thawte.com/getthawteseal?host_name=XXX&size=M〈en
  • $ (" input.datepicker")。datepicker不是一个函数
  • Uncaught SyntaxError: Unexpected token
  • 对象不支持此属性或方法
  • Uncaught TypeError: Object [Object Object] has no method 'dialog'
  • 语法错误:http://seal-cencal.bbb.org/logo/XXX
  • 错误:权限被拒绝访问属性'toString'

我不明白的是网站99%的时间运行没有任何错误,我似乎不能得到一个错误发生在我使用的任何浏览器。我也在跟踪用户使用的浏览器谁发送这些错误,这是随机的,各种各样的浏览器,他们都是较新的FF,主要是IE版本。

如何阻止外部代码中的语法错误(但它们大多数时候都有效)…?为什么google和thawte脚本经常无法加载一些人,但从来没有发生在我身上,有没有一种方法可以做到这一点?datepicker一个,我只能假设它的错误是因为jquery UI加载失败,因为jquery加载(否则它不会在文档准备调用中被调用),但我甚至有一个本地主机jquery UI脚本回退包括,它仍然发生..

有没有人能给我一个建议来帮助我进一步调试/修复这些问题?问题是,这个网站获得了很多点击,我每分钟都会收到一个错误的电子邮件(而且每个错误都不是同一个用户造成的)。如果你有任何建议,让我知道(记住代码和网站工作良好的99%的时间,所以我不认为这是一个语法问题在我的终端)。

感谢您的宝贵时间。

如何阻止外部代码中的语法错误(但它们大多数时候都有效)…?

你真的不能。没有更详细的信息调查是不可能的。注意,系统错误也可能是由其他原因引起的,它们的来源可能不在外部脚本中。我怀疑谷歌分析服务无效的脚本。

为什么google和thawth脚本经常无法加载一些人,但从来没有发生在我身上

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

是否有一种方法可以有一个回退到这个?

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

日期选择器,我只能假设它的错误是因为jquery UI加载失败,因为jquery仍然加载

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

但我甚至有一个本地主机jquery UI脚本回退包括,它仍然发生…

本地主机吗?我想你是说你服务器上的副本吧。然而,这取决于脚本及其备用版本如何加载的细节。

有没有人能给我一个建议来帮助我进一步调试/修复这些问题?

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

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