使用Chrome JavaScript调试器/如何中断页面加载事件

Pet*_*ner 57 javascript debugging google-chrome

我正在使用chrome的调试器,在页面运行时设置断点我很好.我的问题是,当我执行f5或在URL行按Enter键时,我的断点消失.如何在页面首次加载时在代码中设置断点?

Ben*_*wee 101

在Chrome的开发者工具中,转到" 来源"标签.在右侧,打开事件侦听器断点,您可以在事件上设置断点.

听起来好像你想在DOMContentLoaded上设置你的断点,这是在DOM Mutation部分下.

执行此操作后,重新加载页面,您将最终进入调试器.

  • Chrome 54中仍然存在选项,但它似乎不起作用.我按F5并重新加载页面而不启动调试器. (2认同)

Dol*_*cci 28

尝试debugger;输入您的代码.这也适用于FF的Firebug

  • 如果您可以轻松更改代码,那么这是一个很好的解决方案. (12认同)
  • 既然是javascript,你可以使用Chrome开发者工具(扳手 - >工具 - >开发人员工具 - >点击"来源")将`debugger;`语句添加到你正在查看的任何网站,找到javascript函数..显然不是如果代码被最小化或者有很多功能需要挖掘,那就很简单.有一种方法可以从这个开发人员工具中查看事件监听器,但对我来说这并不是很明显.希望有帮助 (4认同)
  • @dolan,遗憾的是,如果您想在页面加载时立即中断,这不起作用. (3认同)
  • @dolan请参阅[我的答案](http://stackoverflow.com/a/13372025/61754)以进行页面加载调试。 (2认同)

Bri*_*ing 7

更高版本的Safari和Firefox应该可以在重新加载时使用断点,但需要确保查询在请求之间完全相同.例如,ExtJS 4添加了一个_dc=<epoch>将禁用缓存的东西.

要停止该行为,请添加以下内容:

Ext.Loader.setConfig({
    disableCaching: false,
    enabled: true
});
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!