说明
使用 chrome.devtools.network
API 检索开发者工具在“Network”面板中显示的网络请求的相关信息。
清单
有关使用 Developer Tools API 的一般性简介,请参阅 DevTools API 摘要。
概览
网络请求信息以 HTTP Archive 格式 (HAR) 表示。关于 HAR 的说明不在本文档的讨论范围内,请参阅 HAR v1.2 规范。
对于 HAR 而言,chrome.devtools.network.getHAR()
方法会返回整个 HAR 日志,而 chrome.devtools.network.onRequestFinished
事件则会将 HAR 条目作为参数提供给事件回调。
请注意,出于效率原因,我们不会将请求内容作为 HAR 的一部分。您可以调用请求的 getContent()
方法来检索内容。
如果在页面加载后打开开发者工具窗口,getHAR()
返回的条目数组可能会缺失某些请求。请重新加载页面以获取所有请求。通常,getHAR()
返回的请求列表应与“网络”面板中显示的列表一致。
示例
以下代码会在加载时记录大于 40KB 的所有图片的网址:
chrome.devtools.network.onRequestFinished.addListener(
function(request) {
if (request.response.bodySize > 40*1024) {
chrome.devtools.inspectedWindow.eval(
'console.log("Large image: " + unescape("' +
escape(request.request.url) + '"))');
}
}
);
如需试用此 API,请从 chrome-extension-samples 代码库安装 devtools API 示例。
类型
Request
表示对文档资源(脚本、图片等)的网络请求。有关参考信息,请参阅 HAR 规范。
属性
-
getContent
void
返回响应正文的内容。
getContent
函数如下所示:(callback: function) => {...}
-
callback
功能
callback
参数如下所示:(content: string, encoding: string) => void
-
内容
string
响应正文的内容(可能已经过编码)。
-
encoding
string
如果内容未编码,则为空;否则为编码名称。目前只支持 base64。
-
-
方法
getHAR()
chrome.devtools.network.getHAR(
callback: function,
)
返回包含所有已知网络请求的 HAR 日志。
参数
-
callback
功能
callback
参数如下所示:(harLog: object) => void
-
harLog
对象
HAR 日志。如需了解详情,请参阅 HAR 规范。
-
活动
onNavigated
chrome.devtools.network.onNavigated.addListener(
callback: function,
)
在检查的窗口导航到新页面时触发。
参数
-
功能
callback
参数如下所示:(url: string) => void
-
string
-
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
在网络请求完成且所有请求数据均可用时触发。