相关疑难解决方法(0)

如何在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万
查看次数

避免单步执行Chrome Developer Tools中的javascript文件?

我想知道,有没有办法从Chrome Developer Tools调试器中省略javascript文件,所以它会自动跳过对该脚本的任何函数调用?

我问,因为我的项目通常包括大型库,如jQuery.当我在调试时在Chrome Developer Tools中单步执行javascript时,每次在脚本中进行jQuery调用时,我都必须单步执行jQuery的lib.

我最终必须在每次调用jQuery对象后设置一个断点.这是我发现跳过去的唯一方法,它非常烦人.

javascript jquery google-chrome-devtools

40
推荐指数
3
解决办法
1万
查看次数

调试时如何忽略某些脚本文件/行?

我正在尝试调试一些JavaScript,我想知道当我将鼠标悬停在某个div元素上时会执行什么代码(我不知道哪些代码,因为没有直接'onmouseover' - 我认为有一个jQuery选择器在某处?).

通常我会使用Developer Tools/Firebug提供的"Break All"/"Break On Next"工具,但我的问题是其他代码(代码,鼠标移动监听器等)会立即被捕获.

我想做的是告诉调试器忽略某些JavaScript文件或单独的行,这样它就不会停止在我不感兴趣或已经排除的代码上.有没有办法在IE中实现这一点(吐,吐!) - 或者你能建议一个更好的方法吗?

javascript debugging jquery firebug internet-explorer

11
推荐指数
3
解决办法
1万
查看次数