說明
針對「網路」面板中的開發人員工具顯示的網路要求,您可以使用 chrome.devtools.network
API 擷取相關網路要求的相關資訊。
網路要求資訊會以 HTTP 封存格式 (HAR) 表示。HAR 的說明不在本文件的討論範圍內,請參閱 HAR v1.2 規格。
在 HAR 中,chrome.devtools.network.getHAR()
方法會傳回整個 HAR 記錄,而 chrome.devtools.network.onRequestFinished
事件則提供 HAR 項目做為事件回呼的引數。
請注意,基於效率考量,系統不會在 HAR 中提供要求內容。您可以呼叫要求的 getContent()
方法以擷取內容。
如果「開發人員工具」視窗在頁面載入後才開啟,getHAR()
傳回的項目陣列中可能會缺少部分要求。請重新載入頁面來取得所有要求。一般來說,getHAR()
傳回的要求清單應與「網路」面板中顯示的項目相符。
如需開發人員工具 API 的一般使用簡介,請參閱 DevTools API 摘要。
資訊清單
示例
以下程式碼會在載入圖片時,記錄所有大於 40 KB 的圖片網址:
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
參數如下所示:(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,
)
完成網路要求且所有要求資料皆可時觸發。