官方文档有亿点点难懂,好不容易弄懂了,记录一下。chrome-extension-developer
谷歌插件开发时,需要请求接口,官方有推荐办法,都统一由 background.js 处理,但是这样对于我现有的项目改动太大。
我希望能够在某些请求返回时,统一修改请求头为 Access-Control-Allow-Origin: *
网上许多办法仍是 V2 版本的,V3 版本用declarativeNetRequest 取代了 webRequestBlocking,以下是栗子。
// manifest.json
"host_permissions": ["https://www.exmaple.com/*"],
"declarative_net_request": {
"rule_resources": [{
"id": "sample_rules",
"enabled": true,
"path": "sample_rules.json"
}]
},
"permissions": ["declarativeNetRequest", "declarativeNetRequestFeedback"]
// sample_rules.json
[
{
"id": 1,
"priority": 1,
"condition": {
"urlFilter": "*.exmaple.com/*",
"resourceTypes": ["xmlhttprequest"]
},
"action": {
"type": "modifyHeaders",
"responseHeaders": [{
"header": "Access-Control-Allow-Origin",
"operation": "set",
"value": "*"
}]
}
}
]