デバッグの時に、chromeのconsoleで無限ループしてしまったJavascriptなどを停止させる方法を教えて下さい。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

回答2件
1
lang
1while(1) { 2 console.log(1); 3}
のようにループしてしまった場合はページ全体が固まったようになってしまい、タブを強制的に閉じるしかないと思います。
デバッグの時に使えるか分かりませんが、whileループ処理を書くにはsetIntervalを使うといいと思います。
JavaScriptにはsleep関数がないので、setIntervalを使い、以下のように0.1秒おきに繰り返す処理を書くとsleep関数と同等に書けます。この場合は負荷が高くありません。
lang
1setInterval(function() { 2 console.log(1); 3}, 100);
ちなみにsetIntervalの戻り値をclearIntervalすることで繰り返しを止めることも出来ます。
lang
1var count = 0; 2var interval_id = setInterval(function() { 3 console.log(count++); 4 if(count > 10) { 5 clearInterval(interval_id); 6 } 7}, 100);
投稿2014/11/05 00:45
総合スコア277
0
特定のタブが応答しなくなった場合は、Shift+EscでChromeのタスクマネージャが開くようであれば、そこから強制終了できるかもしれません。この場合はそのタブが消えてしまいますが…
投稿2014/11/05 01:53
総合スコア1356
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
同じタグがついた質問を見る
Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。