说明
您可以使用 chrome.devtools.network API 检索开发者工具在“网络”面板中显示的网络请求的相关信息。
清单
如需大致了解如何使用开发者工具 API,请参阅开发者工具 API 摘要。
概览
网络请求信息以 HTTP 归档格式 (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 代码库安装开发者工具 API 示例。
类型
Request
表示对文档资源(脚本、图片等)的网络请求。如需了解详情,请参阅 HAR 规范。
属性
-
getContent
void
Promise返回响应正文的内容。
getContent函数如下所示:(callback?: function) => {...}
-
callback
function optional
callback形参如下所示:(response: object) => void
-
response
object
Pending一个包含响应正文及其编码的对象。
-
content
string
响应正文的内容(可能已编码)。
-
encoding
string
如果内容未编码,则为空;否则为编码名称。目前只支持 base64。
-
-
-
returns
Promise<object>
Pending一个在请求完成时接收响应正文的函数。
Promise 仅适用于 Manifest V3 及更高版本,其他平台需要使用回调。
-
方法
getHAR()
chrome.devtools.network.getHAR(
callback?: function,
): Promise<object>
返回包含所有已知网络请求的 HAR 日志。
形参
-
callback
function optional
callback形参如下所示:(harLog: object) => void
-
harLog
object
HAR 日志。如需了解详情,请参阅 HAR 规范。
-
返回
-
Promise<object>
Pending一个在请求完成时接收 HAR 日志的函数。
Promise 仅适用于 Manifest V3 及更高版本,其他平台需要使用回调。
事件
onNavigated
chrome.devtools.network.onNavigated.addListener(
callback: function,
)
在受检窗口导航到新页面时触发。
形参
-
function
callback形参如下所示:(url: string) => void
-
string
-
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
在网络请求完成且所有请求数据都可用时触发。