chrome网络调试器为我提供了为页面加载的所有HTTP资源的绝佳视图 . 但是只要加载新的顶级HTML页面,它就会清除列表 . 这使得调试由于某种原因而自动重新加载的页面非常困难(运行脚本或300个响应) .
在加载新的顶级页面时,我可以告诉chrome不要清除网络调试器吗?或者我可以回过头来查看上一页的网络资源吗?
或者我可以以某种方式强制chrome在加载新页面之前暂停,当我不控制页面时我正在尝试调试正在进行重定向?这是一个错误的开放式舞蹈的一部分,因此SSL和凭证的组合使得使用命令行工具进行调试变得极其困难 .
或者萤火虫可以做我想要的吗?
4 回答
自v32以来,这已经发生了变化,感谢@Daniel Alexiuc和@Thanatos的评论 .
Current (≥v32)
在DevTools的“网络”选项卡的顶部,有一个复选框可以打开“保留日志”功能 . 如果选中,则在页面加载时保留网络日志 .
左侧的小红点现在可以完全打开和关闭网络日志 .
Older versions
在旧版Chrome(此处为v21)中,“网络”标签的页脚中有一个可点击的红点 .
如果您将鼠标悬停在它上面,它会告诉您,它将在激活时“保留导航时保留” . 它有希望 .
我不知道有什么办法迫使Chrome不清除网络调试器,但这可能会实现您的目标:
打开js控制台
window.addEventListener("beforeunload", function() { debugger; }, false)
这将在通过命中断点加载新页面之前暂停chrome .
只需更新@bfncs答案
我认为围绕Chrome 43的行为有所改变 . 您仍然需要启用保留日志才能看到,但现在重定向显示在其他选项卡下,当加载的文档显示在Doc下时 .
这总是让我感到困惑,因为我有很多网络请求并按类型XHR,Doc,JS等过滤它 . 但是在重定向的情况下,Doc选项卡是空的,所以我不得不猜测 .
在重定向到其他页面之前调试网络调用的另一个很好的解决方案是选择
beforeunload
事件断点这样您就可以确保在将流重定向到另一个页面之前将其中断,这样所有网络调用,网络数据和控制台日志仍然存在 .
This solution is best when you want to check what is the response of the calls
P.S:如果你想停止 before 特定的电话或任何电话,你也可以使用XHR断点(见图示例)