1. ホーム
  2. ジャバスクリプト

[解決済み】Google Chromeでデバッグ時にスクリプトの実行を終了させる方法は?

2022-04-01 14:02:53

質問

Google ChromeのデバッガでJavaScriptのコードをステップ実行するとき、スクリプトの実行を継続したくない場合は、どのように終了させればよいですか?私が見つけた唯一の方法は、ブラウザのウィンドウを閉じることです。

このページを再読み込みするには、F8キーを押したときのように、残りのコードを実行し、フォームを送信することもできます。

アップデイト :

スクリプトを一時停止した状態でF5(更新)を押した場合。

  • Google Chrome (v22) がスクリプトを実行します。スクリプトがHTTPリクエストを送信した場合、そのリクエストに対するHTTPレスポンスが表示されます。元のページは更新されません。
  • IE9はフリーズするだけです。しかし、IE には "Stop Debugging" というオプションがあり、これを押すと (先に F5 を押していなければ) デバッガーの外側でスクリプトを実行し続けます。
  • Firebugの動作はChromeと同じです。

ブラウザウィンドウを閉じてから再び開くのは、必ずしも簡単な方法とは言えません。 なぜなら、ブラウザのセッション状態が失われ、それが重要である可能性があるからです。また、すべてのブレークポイントも失われます。

UPDATE (2014年1月) :

デバッグ中にリフレッシュする。

  • Chrome v31: スクリプトを実行させ、さらにブレイクポイントで停止し(ただし、ajaxリクエストは送信しない)、その後リフレッシュする。
  • IE 11: 更新しても何も起こらないが、F5キーを押して続けることができる。
  • Firefox v26:スクリプトを実行させますが、それ以上のブレークポイントでは停止せず、ajaxリクエストを送信し、その後リフレッシュされます。

ちょっとだけ前進!

デバッグ中に同じページに移動する。

  • Chrome v31:Refreshと同じです。
  • IE 11:スクリプトが終了し、新しいブラウザセッションが開始されます(一度閉じて再度開くのと同じです)。
  • Firefox v26:何も起こりません。

また ジュアキャラ は、効果的な回避策を提案しました。例えば、jQueryを使用している場合、以下のように実行します。 削除 をコンソールから実行すると、任意のjQueryメソッドに遭遇した時点で実行が停止します。上記のすべてのブラウザでテストし、動作することを確認しました。

UPDATE (2015年3月) :

Google Chromeには独自のタスクマネージャがあり、タブのプロセスを強制終了することができます。 なし タブ自体を閉じれば、ブレークポイントや他のものはすべてそのまま維持されます。

BrowserStack.comまで行ってChrome v22でテストしたところ、その時点でもこのように動作していることがわかりました。

IEやFirefoxでデバッグするときは、やはりJuacalaのワークアラウンドが有効です。

UPDATE(2019年1月) :

Chrome Dev Toolsにスクリプトの実行を停止する方法が追加されました(少し隠れていますが)。詳しくはJames Gentesの回答を参照してください。

解決方法は?

Chromeでは、タスクマネージャがあり、以下の方法でアクセスできます。 シフト + エスケープ またはスルー

メニュー → その他のツール → タスクマネージャー

ページのタスクを選択し、"End Process"ボタンを押すことで終了させることができます。