【发布时间】:2018-07-10 12:31:16
【问题描述】:
我们使用 sentry.io / ravenjs 来跟踪 JavaScript 错误。我们看到大量错误信息如下:
document.getElementsByClassName.ToString is not a function
<anonymous> at line 1:33
产生此错误的用户/设备的详细信息非常相似:
browser: Chrome 59.0.3071 (100%)
device: Samsung (100% / different models)
OS: Android (100% / different versions)
不同的用户正在生成错误,但我们不知道如何模拟或解决它。在任何其他浏览器、设备和操作系统中都不会报告该错误。有没有人对如何解决这个问题有任何想法。
更新:正如所指出的,报告的错误是 ToString 而不是 toString,这更有意义。由于此错误仅发生在特定设备/浏览器上,因此问题似乎不太可能与未定义的属性或函数有关。如果是这种情况,那么该错误也应该出现在其他设备/浏览器上。
在我们自己的 JavaScript 或第 3 方 JavaScript 中找不到文本 ToString。
【问题讨论】:
-
document.getElementsByClassName是在浏览器中运行的函数,document.getElementsByClassName('class')之类的。浏览器肯定会报告错误,但开发人员可能已经应用了 try catch 块,因此不会引发错误。 -
不是
ToString是toString但是你为什么要getElementsByClassName的字符串我不知道。 -
我不确定 getElementsByClassName 返回的HTMLCollection 对象是否有
toString方法(如上所述ToString绝对不是标准方法) -
我同意奇怪的是报告的错误是 ToString 而不是 toString。但是,如果这是一个问题,其他浏览器也会出现错误。但事实并非如此。
标签: javascript sentry