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

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

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

更新

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

  • Google Chrome(v22)运行脚本。 如果脚本提交HTTP请求,则显示该请求的HTTP响应。 原始页面未刷新。
  • IE 9只是冻结。 然而IE有一个选项“停止调试”,当按下时(假设你之前没有按F5),继续在调试器外运行脚本。
  • Firebug的行为与Chrome相同。
  • 关闭并再次打开浏览器窗口并不总是下一个最简单的方法,因为它会终止浏览器会话状态,这可能很重要。 你所有的断点也都会丢失。

    更新(2014年1月)

    调试时刷新:

  • Chrome v31:允许脚本运行并在更多断点处停止(但不提交Ajax请求),然后刷新。
  • IE 11:刷新什么都不做,但可以按F5继续。
  • Firefox v26:允许脚本运行,但不会在更多的断点上停止,提交ajax请求,然后刷新。
  • 进步!

    在调试时导航到相同的页面:

  • Chrome v31:与刷新相同。
  • IE 11:脚本终止,新的浏览器会话启动(与关闭和再次打开相同)。
  • Firefox v26:没有任何反应。
  • juacala也提出了一个有效的解决方法。 例如,如果您使用的是jQuery,则在遇到任何jQuery方法后,从控制台运行delete $将会停止执行。 我已经在上述所有浏览器中测试过它,并且可以确认它正在工作。

    更新(2015年3月)

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

    我甚至远达BrowserStack.com在Chrome v22中测试它,发现即使在那个时候它也是这样工作的。

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


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

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

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


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

    var something = somethingElse.blah;
    

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

    delete somethingElse;
    

    然后播放脚本:当它尝试访问somethingElse时会引发致命错误,脚本将会死亡。 瞧,你已经终止了剧本。

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


    参考@scottndecker给出的以下问题的答案,chrome现在在开发工具下提供了一个'禁用JavaScript'选项:

  • 垂直...在右上角
  • 设置
  • 在“首选项”下,转到最底部的“调试器”部分,然后选择“禁用JavaScript”
  • 好的是你可以通过检查/取消选中来停止并重新运行。

    链接地址: http://www.djcxy.com/p/91109.html

    上一篇: How to terminate script execution when debugging in Google Chrome?

    下一篇: Delphi generics EConversionError cannot instantiate type