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

使用Chrome JavaScript调试器/如何在页面加载事件时中断,javascript,debugging,google-chrome,Javascript,Debugging,Google Chrome,我使用的是chrome的调试器,在页面运行时设置断点方面我很在行。我的问题是,当我在URL行上执行f5或按enter键时,断点就会消失。如何设置页面首次加载时发生的代码断点?尝试放置调试器在您的代码中。这也适用于FF的Firebug,Safari和Firefox的更高版本应该可以在重新加载时使用断点正常工作,但是需要确保请求之间的查询完全相同。例如,extjs4添加了一个将禁用缓存的\u dc= 要停止该行为,请添加以下内容: Ext.Loader.setConfig({ disable

我使用的是chrome的调试器,在页面运行时设置断点方面我很在行。我的问题是,当我在URL行上执行f5或按enter键时,断点就会消失。如何设置页面首次加载时发生的代码断点?

尝试放置
调试器在您的代码中。这也适用于FF的Firebug,Safari和Firefox的更高版本应该可以在重新加载时使用断点正常工作,但是需要确保请求之间的查询完全相同。例如,extjs4添加了一个将禁用缓存的
\u dc=

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

Ext.Loader.setConfig({
    disableCaching: false,
    enabled: true
});

希望有帮助

在Chrome的开发者工具中,转到选项卡。在右侧,打开事件侦听器断点,您可以在事件上设置断点

听起来好像您想在DOMContentLoaded上设置断点,该断点位于DOM部分下


完成此操作后,重新加载页面,然后进入调试器。

我使用下一种方法,该方法适用于
Chrome
Safari
,使用
Charles Proxy
重写工具

debugger;
或者如果您需要让浏览器控制台等待

setTimeout(function(){ 
    debugger; 
    console.log('gets printed only once after timeout');
}, 7000);

setTimeout
是一个函数,它将在延迟后触发,给用户时间连接控制台

调试器也可以通过使用XHR/fetch断点来设置

chrome developer工具->源选项卡的右侧窗格中,您可以看到XHR/fetch breakpoint,使用它可以设置断点

  • 添加断点
  • 输入要打断的字符串。当此字符串出现在XHR请求URL中的任何位置时,DevTools将暂停
  • 如果必须为所有XHR或fetch设置断点,请选中选项任意XHR或fetch


    在firefox developer的“工具”->“调试器”选项卡中,添加上述功能,我们可以根据请求方法设置调试器。

    重新加载页面时,断点不会消失。我尝试了f5和将光标定位在url上,然后按enter键。这两种情况都会导致断点不再出现在代码中(chrome和ff 5.)。Pablo,如何重新加载页面,使它们不会消失?在我的机器中,CTRL+R工作正常,是否有可能每次重新加载时访问JavaScript代码的URL都会发生变化?如果Chrome认为它以前没有看到过该文件,它就不会设置任何现有的断点。如果你可以轻松地更改代码,那么这是一个好的解决方案,如果你不能,那么这是一个坏的解决方案。因为它是javascript,你可以添加
    调试器工具->开发者工具->点击“来源”)查看任何网站的代码>声明,找到javascript函数..如果代码被最小化或有很多函数需要挖掘,显然不简单。也有一种方法可以从这个开发人员工具查看事件侦听器,但我不清楚如何查看。希望helps@dolan,不幸的是,如果您想在页面加载时立即中断,则此操作不起作用。@dolan有关de的信息,请参阅页面加载有问题。这似乎过时了,找不到了。@Aerovistae它仍然在Chrome 35 for Windows中。(我编辑了答案,因为我在应该说“右”的时候说了“左”。)选项仍然存在于Chrome 54中,但它似乎不起作用。我按F5键,页面在没有启动调试器的情况下重新加载。在Chrome 54.0.2840.99上运行良好。在事件侦听器断点选项卡(Chrome 65)的“加载>加载”项上设置断点后,这对我很有效。