chrome.devtools.network

說明

使用 chrome.devtools.network API 可擷取開發人員工具在「網路」面板中顯示的網路要求相關資訊。

資訊清單

您必須在資訊清單中宣告下列金鑰,才能使用這個 API。

"devtools_page"

如要瞭解如何使用開發人員工具 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 提供的 devtools API 範例 Cloud Storage 也提供目錄同步處理功能

類型

Request

代表針對文件資源 (指令碼、圖片等) 的網路要求。請參閱 HAR 規格以備參考。

屬性

  • getContent

    void

    傳回回應主體的內容。

    getContent 函式如下所示:

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

    • 回呼

      函式

      callback 參數如下所示:

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

      • 內容

        字串

        回應主體的內容 (可能經過編碼)。

      • encoding

        字串

        如果內容未經過編碼,則為空白,否則為編碼名稱。目前僅支援 base64。

方法

getHAR()

chrome.devtools.network.getHAR(
  callback: function,
)

傳回包含所有已知網路要求的 HAR 記錄。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (harLog: object) => void

    • harLog

      物件

      HAR 記錄。詳情請參閱 HAR 規格。

活動

onNavigated

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

在檢查的視窗前往新頁面時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (url: string) => void

    • 網址

      字串

onRequestFinished

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

網路要求完成且所有要求資料可用時觸發。

參數

  • 回呼

    函式

    callback 參數如下所示:

    (request: Request) => void