私たちの会社のサイトには 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 行目 (3 行目):
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 など) からエラーがスローされることはありません。通常は、縮小されたライブラリからスローされます。毎回異なります。
- これはすべてのブラウザーで発生するようですが、Firefox よりも Chrome でより頻繁に発生します。
どこから始めればよいですか?残念ながら、これは社内の企業 Web サイトであるため、サイト全体で機密データを扱っているため、アクセスを提供するのは難しい.
ご協力ありがとうございました!