Chrome開発者ツールは、jQuery 1.7の初期化を一時停止します
-
28-10-2019 - |
質問
Chromeの開発者ツールは、私が使用するのが大好きな優れたツールセットです。残念ながら、開発者ツールを開いたままページを更新すると、非常に奇妙な問題に遭遇しました。CharomeはJavaScriptの実行を一時停止し、以下に指定された行を指します。
try {
// This should fail with an exception
// Gecko does not error, returns false instead
matches.call(document.documentElement, "[test!='']:sizzle"); // this is where it breaks
} catch (pseudoError) {
pseudoWorks = true;
}
例外は、例外自体がトライキャッチブロック内に配置されているにもかかわらず、スクリプトが一時停止します。この動作を変更する方法はありますか?それとも私が見逃したものはありますか?
解決
おそらくそれは既知のバグです、これを確認してください: http://bugs.jquery.com/ticket/7535 。私はそこでこの解決策を見つけました、私はそれが役立つことを願っています:
try {
// This should fail with an exception
// Gecko does not error, returns false instead
// <orig. $jquery-1.5:>
// matches.call( document.documentElement, "[test!='']:sizzle" );
// <proposal to Ticket #7535, 2011-03-24:>
if( ! html.mozMatchesSelector || document.currentScript ){
matches.call( html, "[test!='']:sizzle" );
}
//else{
// /*FF lt 4*/
//}
} catch( pseudoError ) {
pseudoWorks = true;
}
// <testing only>
// alert('MalformedSelectorException thrown: ' + pseudoWorks );
他のヒント
私はこの問題を解決したばかりです(私の場合、異なるかもしれません)。 Chromeのコンソールの「例外の一時停止」ボタンを誤ってクリックしました。これです: https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints#js_exceptions
これが、例外ボタンで、その小さくて簡単な一時停止の場所と、次の3つのトグル状態です。
誰かが検索した場合
div.querySelectorAll("*,:x");
ここでリダイレクトする必要があります。
Chromeを使用している場合は、これを行います。
検査官(COG)の設定アイコンをクリックします。一般に、「フレームワークの管理ブラックボクシング...」というボタンがあります。
これを使用して、特定のスクリプトをデバッガーで評価することから無視できます。これがjQueryのものを捕まえるためのシンプルな正規表現です。 /jquery(.*)\.js$
Safariに関連するこの質問を探しているので、答えは役に立つかもしれないと思います:
Safari Web Inspectorでは、Breakpoints [CTRL-7)に移動することでも同様に実現できます。 「すべての例外」を解決し、「すべての無名の例外」を選択します。