1

拡張機能をマニフェスト バージョン 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://*/*"
],

すべてが実行されます。ただし、これが正しい作業方法だとは思いません。単一のページまたはドメインで作業する必要がある場合でも、すべてのサイトに許可を求める必要がありますか?

4

1 に答える 1