我希望能够追踪我点击链接时发生的网络活动。问题在于,该链接会打开一个新标签页,而显然开发人员工具是按照它所打开的标签页来工作的。“保留导航期间的记录”并没有帮助。
我的当前解决方案是转到 FireFox 和 HttpFox,这个问题在那里没有。我想知道 Chrome 的所有开发人员是如何管理这个问题的,这听起来相当基础(当然我搜索过答案,没有找到任何有用的内容)。
我希望能够追踪我点击链接时发生的网络活动。问题在于,该链接会打开一个新标签页,而显然开发人员工具是按照它所打开的标签页来工作的。“保留导航期间的记录”并没有帮助。
我的当前解决方案是转到 FireFox 和 HttpFox,这个问题在那里没有。我想知道 Chrome 的所有开发人员是如何管理这个问题的,这听起来相当基础(当然我搜索过答案,没有找到任何有用的内容)。
如果你想了解发生在你的浏览器中的所有网络事件的详细概述,请查看chrome://net-internals/#events
(或在最新版本的Chrome中查看chrome://net-export
)。
根据你具体的问题,另一个可能的解决方案是在“网络”选项卡上启用“保存日志”:
并通过在控制台中执行以下代码,强制所有链接在同一标签页中打开:
[].forEach.call(document.querySelectorAll('a'),
function(link){
if(link.attributes.target) {
link.attributes.target.value = '_self';
}
});
window.open = function(url) {
location.href = url;
};
document.querySelectorAll('a,form')
也会影响到表单。 - jgb根据phsource在评论中提到的功能请求,已经实施。
在最近的版本中(从Chrome 90开始),您可以进入开发者工具设置菜单(打开开发者工具,然后点击设置图标或按F1),然后您会在全局部分找到自动打开弹出窗口的开发者工具。同时确保已选中保留日志。
在 Chrome 61.0.3163.100 中,您现在可以使用以下选项。它可以通过转到 Chrome Dev 工具设置来访问,而它位于底部。
返回原始页面并再次点击该链接。
结果将加载到已准备好的带有开发人员工具的窗口中。
您可以激活“保存日志”选项(请参见 Konrad Dzwinel 的卓越答案)以捕获该链接上的任何重定向流量。
注意:大多数人熟悉的链接目标 ∈ { _self,_blank,_parent,_top }。但实际上可以给出任何名称,这将打开一个带有该名称的新窗口,并且以后使用相同目标值的链接、表单或window.open 将在同一窗口中打开。 进一步阅读 - mdn : window.open ,mdn : <a> tag
target="_self"
如果打开的链接没有重定向,请在新标签页中打开“网络”选项卡,然后刷新该标签页。