如何在更改原点的chrome扩展名中使用提取? [英] How can I use fetch in chrome-extension that I change the origin?

查看:54
本文介绍了如何在更改原点的chrome扩展名中使用提取?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我使用fetch时,它获取请求源如下:来源:chrome-extension://hhchkohknefpngiknmlkelgmnhokjnef

When I use fetch,it gets the request origin like this: Origin: chrome-extension://hhchkohknefpngiknmlkelgmnhokjnef

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

I want the request origin like this: Origin: www.xxxxxx.com (the now website page url)

推荐答案

您可以使用 onBeforeSendHeaders 事件执行此操作.

You can do this using the onBeforeSendHeaders event.

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 选项是更改开始chrome 79的更改 Origin 所必需的.

extraHeaders option is required for changing changing Origin starting chrome 79.

您的清单文件中将需要以下权限:

You will need the following permissions in your manifest file:

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

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

这篇关于如何在更改原点的chrome扩展名中使用提取?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆