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

Mat*_*ttW 2 javascript google-chrome-extension

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

几乎 - 我想确切地检测Chrome开发者工具使用Google Chrome扩展程序看到的"网络"标签.

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

编辑:

我尝试了以下(我希望在每个请求完成后被解雇):

chrome.webRequest.onCompleted.addListener(function(details) { alert('hey'); });
Run Code Online (Sandbox Code Playgroud)

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

PAE*_*AEz 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
}
Run Code Online (Sandbox Code Playgroud)

background.js

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

转到后台页面并在加载/加载页面时查看控制台.

  • @MattW你必须有一个RequestFilter,它不是可选的......试试这个`chrome.webRequest.onCompleted.addListener(function(details){alert('hey');},{urls:["<all_urls> "]});` (2认同)
  • @sredmond是的,我能为你做到这一点;) (2认同)