如何使用 declarativeNetRequest 动态规则附加到 requestHeaders
How to append to requestHeaders using declarativeNetRequest dynamic rules
在 Chrome 扩展中,我试图创建一个动态规则,通过 declarativeNetRequest
将字符串附加到用户代理,如下所示:
chrome.declarativeNetRequest.updateDynamicRules({
addRules: [
{
id: 1,
priority: 1,
action: {
type: 'modifyHeaders' as RuleActionType,
requestHeaders: [
{
header: 'user-agent',
operation: 'append' as HeaderOperation,
value: '-test'
},
],
},
condition: {
regexFilter: 'https://www.yahoo.com\?.*',
resourceTypes: [
'main_frame' as ResourceType,
'sub_frame' as ResourceType,
],
},
},
],
}, async (result: any) => {
console.log('created', result);
});
我在控制台中收到以下错误:
Unchecked runtime.lastError: Rule with id 1 must not specify a request header to be appended.
documentation 中是否缺少我无法在 requestHeaders
上应用 append
操作的限制?我用 responseHeaders
进行了测试,它工作正常(这不是我想要实现的)。
这是一个已知错误,https://crbug.com/1117475。
同时在 operation
的值中使用 set
而不是 append
。
在 Chrome 扩展中,我试图创建一个动态规则,通过 declarativeNetRequest
将字符串附加到用户代理,如下所示:
chrome.declarativeNetRequest.updateDynamicRules({
addRules: [
{
id: 1,
priority: 1,
action: {
type: 'modifyHeaders' as RuleActionType,
requestHeaders: [
{
header: 'user-agent',
operation: 'append' as HeaderOperation,
value: '-test'
},
],
},
condition: {
regexFilter: 'https://www.yahoo.com\?.*',
resourceTypes: [
'main_frame' as ResourceType,
'sub_frame' as ResourceType,
],
},
},
],
}, async (result: any) => {
console.log('created', result);
});
我在控制台中收到以下错误:
Unchecked runtime.lastError: Rule with id 1 must not specify a request header to be appended.
documentation 中是否缺少我无法在 requestHeaders
上应用 append
操作的限制?我用 responseHeaders
进行了测试,它工作正常(这不是我想要实现的)。
这是一个已知错误,https://crbug.com/1117475。
同时在 operation
的值中使用 set
而不是 append
。