chrome.devtools.network

说明

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

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

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

请注意,出于效率原因,我们不会将请求内容作为 HAR 的一部分。您可以调用请求的 getContent() 方法来检索内容。

如果在页面加载后打开开发者工具窗口,getHAR() 返回的条目数组可能会缺失某些请求。请重新加载页面以获取所有请求。通常,getHAR() 返回的请求列表应与“网络”面板中显示的列表一致。

有关使用 Developer Tools 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 代码库安装 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

    功能

    callback 参数如下所示:

    (url: string)=>void

    • 网址

      string

onRequestFinished

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

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

参数

  • callback

    功能

    callback 参数如下所示:

    (request: Request)=>void