简体   繁体   English

如何在更改原点的 chrome-extension 中使用 fetch?

[英]How can I use fetch in chrome-extension that I change the origin?

When I use fetch,it gets the request origin like this: Origin: chrome-extension://hhchkohknefpngiknmlkelgmnhokjnef当我使用 fetch 时,它会像这样获取请求来源: 来源:chrome-extension://hhchkohknefpngiknmlkelgmnhokjnef

I want the request origin like this: Origin: www.xxxxxx.com (the now website page url)我想要这样的请求来源:来源:www.xxxxxx.com(现在的网站页面网址)

You can do this using the onBeforeSendHeaders event.您可以使用onBeforeSendHeaders事件执行此操作。

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) {
        for (var i = 0; i < details.requestHeaders.length; ++i) {
            if (details.requestHeaders[i].name === 'Origin')
                details.requestHeaders[i].value = 'https://www.xxxxxx.com';
        }

        return {
            requestHeaders: details.requestHeaders
        };
    }, {
        urls: ["*://www.xxxxxx.com/*"]
    },
    ["blocking", "requestHeaders", "extraHeaders"]);

extraHeaders option is required for changing changing Origin starting chrome 79.从 chrome 79 开始更改更改的Origin需要extraHeaders选项。

You will need the following permissions in your manifest file:您将需要在清单文件中具有以下权限:

"permissions": [
    "webRequest",
    "webRequestBlocking",
    "*://www.xxxxxx.com/*"
]

Reference: https://developer.chrome.com/extensions/webRequest#implementation参考: https://developer.chrome.com/extensions/webRequest#implementation

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM