Chrome网络调试器为我提供了一个页面加载的所有HTTP资源的伟大视图。但是,每当加载新的顶级HTML页面时,它都会清除该列表。这使得调试由于某种原因(运行脚本或300个响应)自动重新加载的页面变得非常困难。

我可以告诉Chrome浏览器不清除网络调试器时,一个新的顶级页面被加载?或者我可以回头看看上一页的网络资源吗?

或者我可以以某种方式强制Chrome在加载一个新页面之前暂停,当我不控制我试图调试的页面时,正在进行重定向?这是OpenID舞蹈中出错的一部分,因此SSL和凭证的组合使得使用命令行工具进行调试极其困难。


当前回答

只是更新了@bfncs的答案

我认为Chrome 43的行为有了一些改变。您仍然需要启用保存日志来查看,但现在重定向显示在其他选项卡下,当加载的文档显示在Doc下。

这总是让我困惑,因为我有很多网络请求,并通过类型XHR, Doc, JS等进行过滤。但在重定向的情况下,Doc选项卡是空的,所以我必须猜测。

其他回答

这是从v32版本开始更改的,感谢@Daniel Alexiuc和@Thanatos的评论。


电流(≥v32)

在DevTools的“Network”选项卡的顶部,有一个复选框可以打开“Preserve log”功能。如果选中该选项,则在页面加载时保留网络日志。

左边的小红点现在具有完全切换网络登录的目的。


旧版本

在旧版本的Chrome(这里是v21)中,在“网络”选项卡的页脚有一个小的,可点击的红点。

如果你将鼠标悬停在它上面,它会告诉你,当它被激活时,它将“保存导航日志”。它承载着承诺。

我不知道有什么方法可以强制Chrome不清除网络调试器,但这可能会完成你想要的:

打开js控制台 窗口。addEventListener("beforeunload", function(){调试器;},假)

这将在加载新页面之前通过击中断点暂停chrome。

在重定向到其他页面之前调试Network调用的另一个很好的解决方案是选择beforeunload事件断点

这样可以确保在流重定向到另一个页面之前中断流,这样所有的网络调用、网络数据和控制台日志仍然在那里。

当您想要检查调用的响应时,此解决方案是最好的

注: 如果您想在某个特定的呼叫或任何呼叫之前停止,也可以使用XHR断点(参见图片示例)

只是更新了@bfncs的答案

我认为Chrome 43的行为有了一些改变。您仍然需要启用保存日志来查看,但现在重定向显示在其他选项卡下,当加载的文档显示在Doc下。

这总是让我困惑,因为我有很多网络请求,并通过类型XHR, Doc, JS等进行过滤。但在重定向的情况下,Doc选项卡是空的,所以我必须猜测。