Chrome Extension開発を勉強してみる (9) - webRequest -
webRequestを使う事でロードしている(しようとしている)のを取得したり、ヘッダーを書き換えたり出来る模様(但し、書き換えられるヘッダーは限られるっぽい)
manifest.json
{
"name": "test",
"version": "0.1",
"background": {
"scripts": ["background.js"]
},
"permissions": ["webRequest", "webRequestBlocking", "http://*/", "https://*/"]
}
特にwebRequestなんちゃらは指定しないとこのAPI自体が使えない。webRequestはchrome.webRequestだけど、このパーミッションを設定しなかったらundefinedになる模様
background.js
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
var detail = { "url": details.url, "headers": {} };
details.requestHeaders.forEach(function(header) {
if ("name" in header && header.name === "User-Agent") {
header.value = "iPhone";
}
detail.headers[header.name] = header.value;
});
console.log(detail);
return { "requestHeaders": details.requestHeaders };
},
{ "urls": ["*://*/*"] },
["requestHeaders", "blocking"]
);
っていう感じ。別にここで書かなくてもドキュメント読めば良い気がするので詳細は省略