返回
创建于
状态公开

关于使用 chrome extension 修改请求和响应 header 的方法。

重要: 需要在 manifest 中修改 permissions

json
1{
2    "permissions": [
3        "declarativeNetRequest"
4    ],
5}
ts
1const RuleActionType = chrome.declarativeNetRequest.RuleActionType
2const HeaderOperation = chrome.declarativeNetRequest.HeaderOperation
3const ResourceType = chrome.declarativeNetRequest.ResourceType
4
5void chrome.declarativeNetRequest.updateDynamicRules({
6  removeRuleIds: [1],
7  addRules: [
8    {
9      id: 1,
10      priority: 1,
11      action: {
12        type: RuleActionType.MODIFY_HEADERS,
13        requestHeaders: [
14          {
15            header: "Origin",
16            operation: HeaderOperation.REMOVE
17          }
18        ],
19        responseHeaders: [
20          {
21            header: "Access-Control-Allow-Origin",
22            operation: HeaderOperation.SET,
23            value: "*"
24          },
25          {
26            header: "Access-Control-Allow-Methods",
27            operation: HeaderOperation.SET,
28            value: "GET, POST, PUT, DELETE, OPTIONS"
29          },
30          {
31            header: "Access-Control-Allow-Headers",
32            operation: HeaderOperation.SET,
33            value: "*"
34          }
35        ]
36      },
37      condition: {
38        urlFilter: "|https://im.gurl.eu.org",
39        resourceTypes: [ResourceType.XMLHTTPREQUEST]
40      }
41    }
42  ]
43})