检测所有传入的HTTP文件Google Chrome Extension

时间:2012-03-25 20:47:00

标签: javascript google-chrome-extension

使用Google Chrome扩展程序,我想发布一些事件或以某种方式检测我在浏览器中收到的每个HTTP响应。

相当多 - 我想确切地发现"网络" Chrome开发者工具的标签可以使用Google Chrome扩展程序。

例如,如果我打开网络标签并转到Google.com,我会看到每个.js,.css,图片等。我可以以某种方式检测到它吗?

修改

我已尝试过以下内容(我希望在每个请求完成后都会被解雇):

chrome.webRequest.onCompleted.addListener(function(details) { alert('hey'); });

但这似乎永远不会被解雇。

2 个答案:

答案 0 :(得分:7)

您可以使用Web Request api,请注意这是在Chrome 17版本中出现的,因此您必须将minimum_chrome_version设置为17。 http://code.google.com/chrome/extensions/webRequest.html
http://code.google.com/chrome/extensions/manifest.html#minimum_chrome_version

<强>的manifest.json

{
  "name": "WebRequest",
  "description": "WebRequest - onCompleted",
  "version": "0.1",
  "permissions": ["<all_urls>", "webRequest"],
  "background": {
    "scripts": ["background.js"]
  },
  "manifest_version": 2
}

<强> background.js

chrome.webRequest.onCompleted.addListener(function(details) {
    console.debug(details);
}, {
    urls: ["<all_urls>"]
});

转到后台页面,在加载/加载页面时查看控制台。

答案 1 :(得分:1)

试试这个: background.js

chrome.webRequest.onCompleted.addListener
(
    TrackRequest,
    {urls: ["<all_urls>"]},
    ["responseHeaders"]
);


function TrackRequest(info)
{
        console.log(info);
}

和manifest.js:

{
"name": "Ext",
"version": "1.0",
"manifest_version": 2,
"description": "Ext template",
"background": {
"scripts": ["background.js"]
},
"content_security_policy": "script-src 'self' chrome-extension-resource://readme.js; object-src 'self'",
"permissions": ["webRequest","*://*/"]
}

你不能做出一个&#34; allert&#34;来自后台脚本。 要进行调试,请转到扩展,然后单击&#34;后台页面&#34;。你会看到控制台输出。