拡張機能をマニフェスト バージョン 2.0 に更新する必要があります。APIを使用していたためwebRequest
、 に変更する必要がありますdeclarativeWebRequest
。
問題は、権限に問題があることです。
To execute the action "declarativeWebRequest.SetRequestHeader",
you need to request host permission for all hosts.
そして私のマニフェストは次のようになります:
"permissions": [
"declarativeWebRequest",
"https://example.com/default.dll"
],
"background": {
"scripts": ["background.js"],
"persistent": false
}
そして、私の背景ページは次のようになります。
var request_matcher = new chrome.declarativeWebRequest.RequestMatcher({
url: {
urlEquals: "https://example.com/default.dll"
},
resourceType: ["main_frame"],
stages: ['onBeforeSendHeaders']
});
var request_rule = {
conditions: [request_matcher],
actions: [
new chrome.declarativeWebRequest.SetRequestHeader({
name: "User-Agent",
value: "New user agent "
})
]
};
chrome.declarativeWebRequest.onRequest.addRules([
request_rule
]);
許可を次のように変更した場合:
"permissions": [
"declarativeWebRequest",
"https://*/*"
],
すべてが実行されます。ただし、これが正しい作業方法だとは思いません。単一のページまたはドメインで作業する必要がある場合でも、すべてのサイトに許可を求める必要がありますか?