如何在谷歌浏览器中调试时终止脚本执行?

在Google Chrome调试器中逐步执行JavaScript代码时,如果我不想继续,如何终止脚本执行?我发现的唯一方法是关闭浏览器窗口。

按“重新加载此页面”将运行其余代码,甚至提交表单,就像按 F8 “继续”一样。

更新

在脚本暂停时按 F5(刷新)时:

  • 谷歌浏览器 (v22) 运行该脚本。如果脚本提交 HTTP 请求,则会显示该请求的 HTTP 响应。原始页面不会刷新。
  • IE 9 只是冻结。但是,IE 有一个选项“停止调试”,当按下该选项时(前提是您之前未按 F5),它将继续在调试器外部运行脚本。
  • Firebug的行为与Chrome相同。

关闭然后再次打开浏览器窗口并不总是下一个最简单的方法,因为它会杀死浏览器会话状态,这可能很重要。所有断点也会丢失。

更新(2014年1月):

调试时刷新:

  • Chrome v31:允许脚本运行并在进一步的断点处停止(但不提交ajax请求),然后刷新。
  • IE 11:刷新不执行任何操作,但可以按 F5 继续。
  • Firefox v26:允许脚本运行,但不在进一步的断点处停止,提交ajax请求,然后刷新。

有点进步!

调试时导航到同一页面:

  • Chrome v31:与 Refresh 相同。
  • IE 11:脚本终止,启动新的浏览器会话(与关闭并再次打开相同)。
  • Firefox v26:没有任何反应。

Juacala还提出了一个有效的解决方法。例如,如果您使用的是 jQuery,则在遇到任何 jQuery 方法后,从控制台运行 delete $ 将停止执行。我已经在上述所有浏览器中进行了测试,可以确认它正在工作。

更新(2015年3月):

最后,经过2年多的时间和近10K的浏览量,Alexander K.给出了正确的答案,Google Chrome拥有自己的任务管理器,可以在不关闭选项卡本身的情况下杀死选项卡进程,保持所有断点和其他东西不变。

我甚至 BrowserStack.com 在Chrome v22中对其进行了测试,发现即使在当时也是这样工作的。

Juacala的解决方法在IE或Firefox中调试时仍然很有用。

更新(2019年1月):

Chrome Dev Tools最后添加了一种停止脚本执行的正确方法,这很好(尽管有点隐藏)。有关详细信息,请参阅James Gentes的答案。


答案 1

在Chrome中,有“任务管理器”,可通过+或通过访问ShiftESC

菜单 → 更多工具 → 任务管理器

您可以选择页面任务并通过按“结束进程”按钮结束它。


答案 2

2018 年 4 月起,您可以在 Chrome 中停止无限循环

  1. 在开发人员工具 (++**) 中打开“”面板。CtrlShiftI
  2. 单击“暂停”按钮以暂停脚本执行

另请注意快捷键:和F8Ctrl+\

enter image description here