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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (482)

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

按下“Reload this page”运行其余代码,甚至提交表单,就好像按F8“继续”一样。

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

  • GoogleChrome(V22)运行这个脚本。如果脚本提交HTTP请求,则显示该请求的HTTP响应。未刷新原始页。
  • 九号刚结冰。但是IE有一个选项“停止调试”,当按下它(如果你之前没有按F5),它将继续在调试器之外运行脚本。
  • 萤火虫的行为与Chrome相同。

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

调试时刷新:

  • Chromev 31:让脚本运行并停止在进一步的断点(但不提交Ajax请求),然后刷新。
  • IE 11:刷新没有任何作用,但可以按F5继续。
  • Firefoxv 26:让脚本运行,但不停止在进一步的断点,提交Ajax请求,然后刷新。

在调试时导航到同一页:

  • Chrome v31:与Refresh相同。
  • IE 11:终止脚本,启动新的浏览器会话(与关闭和重新打开相同)。
  • Firefoxv 26:什么都不会发生。

胡阿卡拉提出了一个有效的解决办法。例如,如果使用jQuery,则运行删除$一旦遇到任何jQuery方法,控制台就会停止执行。我已经测试了所有上述浏览器,并可以确认它是工作的。

最新资料(2015)

最后,经过两年多的浏览和近10K的浏览,AlexanderK.Google Chrome给出了正确的答案,Google Chrome有自己的任务管理器,可以杀死一个选项卡进程关闭标签本身,保持所有断点和其他东西完整。

我甚至在BrowserStack.com上用ChromeV 22进行了测试,发现即使在那个时候,它也是这样工作的。

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

提问于
用户回答回答于

在Chrome中,有“任务管理器”,可通过Shift+ESC或通过

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

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

用户回答回答于

可以这样做的一种方法是暂停脚本,查看当前停止的代码,例如:

var something = somethingElse.blah;

在控制台中,执行以下操作:

delete somethingElse;

然后播放脚本:当它尝试访问时会导致致命错误。somethingElse剧本就会死。

编辑:最初,我删除了一个变量。这还不够好。必须删除JavaScript试图访问属性的函数或对象。

扫码关注云+社区