调用history.back()后没有点击Chrome调试器语句

时间:2016-04-27 14:58:53

标签: javascript google-chrome debugging google-chrome-devtools

正如标题所示,请尝试将其粘贴到此页面上的Chrome devtools控制台中。代码显示在sources选项卡中,但history.back()语句不作为断点。在window.history.pushState("object or string", "Title", window.location.href.substring(window.location.href.lastIndexOf("/")) + '?test'); history.back(); debugger; 之后,断点似乎也不起作用。

{{1}}

有人可以告诉我为什么会这样吗? 有没有办法改变这种行为?

我正在运行Chrome 49.0.2623.112(官方构建)m(32位)

1 个答案:

答案 0 :(得分:0)

我会为你做研究回答: - ):

请查看this SO answer中的参考资料以获取详细信息,但高级解释是history.back()电话是非阻止电话。当它在事件循环的后续迭代中执行时,很可能导致某种重置,从而阻止debugger;

的完全影响

在我的实验中,如果您将debugger;来电替换为预定的来电:setTimeout(function() { debugger; }, {{anything greater than 1ms}} ); 它按预期工作。

有趣的观察,但是!