2011-07-13 114 views
2

是否可以通過本地頁面的谷歌瀏覽器插件來監控網絡流量?例如,我想監視每次網頁請求特定文件(基於正則表達式匹配),並且如果用戶單擊該插件,它會爲該文件打開一個新選項卡。Google Chrome插件開發 - 監控網絡請求?

+0

本地含義'file://? – serg

+0

不,例如,我可以在開發人員選項卡中看到一個頁面加載http://somesite.com/somemp3.mp3,並且任何時候發生這種情況,我希望能夠通過單擊按鈕來下載該mp3打開一個新標籤,指向該鏈接... – wuntee

+0

另請參閱http://stackoverflow.com/q/7819463/632951和http://stackoverflow.com/q/6831916/632951 – Pacerier

回答

3

的「正確」的方法是使用webRequest API,但它仍然是實驗:

//background.html 
chrome.experimental.webRequest.onCompleted.addListener(function(details) { 
    console.log("resource", details.url); 
}); 

同時你可以捕捉正在加載的用下面的代碼資源:

document.addEventListener("beforeload", function(event) { 
    console.log("resource", event.url); 
}, true); 

這需要進入與"run_at": "document_start"一起運行的內容腳本。

+0

它看起來像是工作,並能夠找到基本要求,但似乎這些文件正在通過在SWF中的GET拉...以任何方式解決這個問題? – wuntee

+0

@wuntee'beforeload'是我知道的唯一方法,所有其他都涉及實驗性API(我不確定這是否可以用於flash)。 – serg

+0

嗯...感謝您的幫助。它令人沮喪,因爲我可以在開發者窗格的「網絡」選項卡中看到它們被傳輸......假定窗格比擴展名具有更多特權。 – wuntee