小编Moh*_*mad的帖子

如何在Google Chrome中调试时终止脚本执行?

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

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

更新:

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

  • 谷歌浏览器(第22版)运行该脚本.如果脚本提交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给出了正确的答案.谷歌Chrome有自己的任务管理器,它可以在关闭标签本身的情况下终止标签进程,保持所有断点和其他内容不变.

我甚至到了BrowserStack.com,在Chrome v22中测试它,发现即使在那个时候这种方式也是如此.

在IE或Firefox中进行调试时,Juacala的解决方法仍然有用.

更新(2019年1月):

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

javascript debugging google-chrome-devtools

194
推荐指数
6
解决办法
14万
查看次数