2011-10-26 79 views
1

我正在嘗試編寫一個Chrome擴展,它需要一個URL並顯示瀏覽器需要顯示URL指向的頁面的所有資源,以及它們在網絡上的大小(壓縮)和客戶端的大小(解壓縮)。在Chrome擴展中捕獲資源大小

我已經能夠通過將聽衆添加到chrome.experimental.webRequest.onCompleted來挖掘所需的資源。但是,此回調不允許我查看標題的大小。

我認爲,添加監聽到chrome.experimental.devtools.network.onRequestFinished這就要求chrome.experimental.devtools.network.getHAR會做的伎倆,但我不能使用任何在chrome.experimental.devtools.network,因爲我得到的錯誤Uncaught TypeError: Cannot read property 'network' of undefined

任何想法?

+0

關於你得到的錯誤,讓你閱讀並理解[如何使用實驗性API(HTTP:/ /code.google.com/chrome/extensions/dev/experimental.html#using)?此外,您是否知道[這些API的限制](http://code.google.com/chrome/extensions/dev/experimental.html#overview)? – Alasdair

+0

對兩者都是。這僅僅是一個內部使用的工具,而且我打包了我使用擴展的Chrome版本,以便將來使用它。我解決了這個問題的是這樣: chrome.experimental.webRequest.onResponseStarted.addListener( 功能(詳細信息){ 爲(VAR I = 0; I Andrew

回答

3

如果壓縮後的大小是在標題,你可以這樣說:

chrome.experimental.webRequest.onResponseStarted.addListener(
    function(details) { 
    for (var i = 0; i < details.responseHeaders.length; ++i) { 
     if (details.responseHeaders[i].name === 'Content-Length') { 
     console.log(details.url + ': ' + details.responseHeaders[i].value + 
        'bytes'); 
     } 
    } 
    }, 
    {}, 
    ["responseHeaders"]);