chrome.devtools.network

说明

使用 chrome.devtools.network API 检索由开发者工具在“Network”面板中显示的网络请求的相关信息。

网络请求信息以 HTTP 归档格式 (HAR) 表示。以下各项的说明: HAR 不在本文档的讨论范围内,请参阅 HAR v1.2 规范

对于 HAR,chrome.devtools.network.getHAR() 方法会返回整个 HAR 日志,而 chrome.devtools.network.onRequestFinished 事件提供 HAR 条目作为事件的参数 回调。

请注意,出于效率方面的原因,请求内容未包含在 HAR 中。您可以拨打 请求的 getContent() 方法来检索内容。

如果在网页加载后打开“开发者工具”窗口, 由 getHAR() 返回的条目数组。请重新加载页面以获取所有请求。一般来说, getHAR() 返回的请求列表应与“Network”面板中显示的请求列表一致。

有关使用开发者工具 API 的一般说明,请参阅 DevTools API 摘要

清单

必须在清单中声明以下键才能使用此 API。

"devtools_page"

示例

以下代码会在加载时记录所有超过 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 中的 chrome-extension-samples 存储库

类型

Request

表示对文档资源(脚本、图片等)的网络请求。有关参考信息,请参阅 HAR 规范。

属性

  • getContent

    void

    返回响应正文的内容。

    getContent 函数如下所示:

    (callback: function) => {...}

    • callback

      函数

      callback 参数如下所示:

      (content: string, encoding: string) => void

      • 内容

        字符串

        响应正文的内容(可能已经过编码)。

      • encoding

        字符串

        如果内容未经编码,则为空,否则为名称编码。目前只支持 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

    函数

    callback 参数如下所示:

    (url: string) => void

    • 网址

      字符串

onRequestFinished

chrome.devtools.network.onRequestFinished.addListener(
  callback: function,
)

在网络请求完成且所有请求数据都可用时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (request: Request) => void