首页 > 解决方案 > 如何在更改原点的 chrome-extension 中使用 fetch?

问题描述

当我使用 fetch 时,它会像这样获取请求来源: 来源:chrome-extension://hhchkohknefpngiknmlkelgmnhokjnef

我想要这样的请求来源:来源:www.xxxxxx.com(现在的网站页面网址)

标签: javascriptgoogle-chrome-extensionfetch

解决方案


您可以使用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更改更改Origin起始 chrome 79 需要选项。

您将需要在清单文件中具有以下权限:

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

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


推荐阅读