devtools.network.onRequestFinished

当网络请求完成且其详细信息可供扩展程序使用时触发。

请求以 HAR 条目对象 的形式给出,该对象还提供了一个异步的 getContent() 方法,用于获取响应正文内容。

请注意,尽管您的扩展程序可以随时添加侦听器,但它要到用户至少激活过一次浏览器 网络面板 后才会开始触发。

语法

js
browser.devtools.network.onRequestFinished.addListener(listener)
browser.devtools.network.onRequestFinished.removeListener(listener)
browser.devtools.network.onRequestFinished.hasListener(listener)

事件有三个函数

addListener(listener)

向此事件添加监听器。

removeListener(listener)

停止监听此事件。listener 参数是要移除的监听器。

hasListener(listener)

检查 listener 是否已为此事件注册。如果正在监听,则返回 true,否则返回 false

addListener 语法

参数

监听器

当此事件发生时调用的函数。该函数将传递此参数

请求

object。一个表示请求的对象。该对象是单个 HAR 条目 对象。它还定义了一个异步 getContent() 方法,该方法返回一个 Promise,该 Promise 解析为包含两个元素的数组。第一个元素是 HTTP 响应正文(字符串),第二个元素是 HTTP 响应的 MIME 类型(也是字符串)。

示例

添加一个侦听器,为每个网络请求记录服务器 IP 地址和响应正文。

js
function handleRequestFinished(request) {
  console.log("Server IP: ", request.serverIPAddress);
  request.getContent().then(([content, mimeType]) => {
    console.log("Content: ", content);
    console.log("MIME type: ", mimeType);
  });
}

browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.devtools API。