当当前浏览器窗口关闭时,如何防止Chrome开发人员工具关闭?


77

我正在尝试使用chrome开发人员工具调试Twitter oauth遇到的问题。

当出现oauth窗口时,我将打开开发人员工具以监视请求-但是一旦oauth窗口关闭,开发人员工具窗口也会关闭。我希望能够保持开发人员工具窗口处于打开状态,以便检查发出的请求。

这可能吗?


2
仅供参考,我刚刚针对Chromium提交了一个与此有关的bug:crbug.com/171447
Mu Mind

截至2017年12月15日,crbug.com / 171447已修复。
tom_mai78101

@ tom_mai78101如何激活它?
约翰·巴尔文·阿里亚斯

Answers:


83

这不是一个完美的解决方案,但是您可以在事件上添加断点,Window.close并且可以unload通过打开以下复选框来实现:

Developer tools -> "Sources" tab -> Event Listener Breakpoints -> Window -> close

Event Listener Breakpoints -> Load -> unload

尝试同时标记两者,看看哪个最适合您


4
有人知道为什么这对我没有帮助吗?窗口仍然关闭。
Rubinous

我想我遇到了同样的问题。我为我的应用打开了开发人员窗口,但是oauth进程正在弹出一个新窗口,因此我的断点不存在。我看到开发人员窗口弹出并用oauth窗口关闭...叹气
tavor999

25

另一种选择是自己手动添加断点。打开您的“关闭太快”窗口,打开JS控制台,然后:

window.addEventListener('unload', function() { debugger; })

但这全都取决于窗口正在执行的操作,以及确切地要停止操作的时间,因此,在@ jfhfhf839的答案中,在Sources选项卡中尝试Event Listener Breakpoints也是一个好主意。

就我而言(调试Google OAuth流程),Window -> CloseLoad -> Unload没有用,但Script > Script First Statement很有用,尽管我不得不多次恢复执行才能到达想要的位置。


对于IE,您可以使用: window.attachEvent("onunload", function() { debugger; })
房地美(Freddie)

5

尝试使用远程调试:https : //developers.google.com/chrome-developer-tools/docs/remote-debugging 在这种情况下,开发人员工具将在单独的浏览器标签中打开,但不会自动关闭。

如果可以找到,也可以考虑在关闭窗口的代码中设置断点。


这可能适用于在Android上调试Chrome,但不适用于我的计算机。我去了chrome:// inspect /#pages,找到了选项卡,点击了inspect,但是当窗口关闭时,开发工具仍然关闭。
tobek
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.