使用Google Chrome扩展程序,我想发布一些事件或以某种方式检测我在浏览器中收到的每个HTTP响应。
相当多 - 我想确切地发现"网络" Chrome开发者工具的标签可以使用Google Chrome扩展程序。
例如,如果我打开网络标签并转到Google.com,我会看到每个.js,.css,图片等。我可以以某种方式检测到它吗?
修改
我已尝试过以下内容(我希望在每个请求完成后都会被解雇):
chrome.webRequest.onCompleted.addListener(function(details) { alert('hey'); });
但这似乎永远不会被解雇。
答案 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;。你会看到控制台输出。