我们公司的网站有一个 JavaScript 问题,我正在拼命尝试解决,但真的很挣扎。我的 JS 技能足以用 jQuery 之类的东西构建网站,但我对调试并不那么精通 - 所以非常感谢任何帮助。
页面上的所有 JS 组件(例如 jQuery Datepicker)看似随机地停止工作。在错误控制台打开的情况下强制重新加载页面时,这些错误大约有 60% 的时间发生 - 它似乎没有任何模式。一旦发生这种情况,修复站点的唯一方法是清除缓存并重新加载。
控制台输出以下内容:
Uncaught TypeError: Object #<Object> has no method 'each'
Uncaught TypeError: Object #<Object> has no method 'not'
Uncaught TypeError: Object #<Object> has no method 'each'
然而:这只是一个例子。其他时候我会得到完全不同的错误。例如,提交这个问题几分钟后,我又试了一次,得到了这个:
Uncaught TypeError: Cannot call method 'apply' of undefined
再次从 jquery.min.js 抛出 - 打印精美,第 1453 行(第三行向下):
if (g.call(k) === "[object Array]")
if (!u)
e.push.apply(e, k);
我将 Chrome 设置为中断所有未处理的异常,这是它捕获的另一个异常 - 在缩小的 jQuery 库的第 3 行。下面显示的是漂亮的印刷版本:
try {
b.call(c.documentElement, "[test!='']:sizzle")
} catch (f) {
e = !0
}
实际的错误行开始b.call[...]
。这适用于 jquery.min.js 的第 1904 行。
- 我正在使用最新的 jQuery
- 这只是最近才开始发生 - 在没有改变之后!
- 错误看似随机发生
- 通常(但有时),我的脚本不会抛出任何错误 - 例如 script.js - 通常它们是从缩小的库中抛出的。每次都不同。
- 这似乎发生在所有浏览器中,但在 Chrome 中比在 Firefox 中更常见
任何想法从哪里开始?不幸的是,这是一个内部公司网站,因此提供访问权限很棘手,因为我们处理整个网站的敏感数据。
感谢您的帮助!