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。