google-chrome-extension - 如何使用 declarativeNetRequest 动态规则附加到 requestHeaders
问题描述
在 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.
文档中是否缺少我无法应用append
操作的限制requestHeaders
?我用它进行了测试,responseHeaders
它工作正常(这不是我想要实现的)。
解决方案
这是一个已知的错误,https://crbug.com/1117475。
同时在 的值中使用set
而不是。append
operation
推荐阅读
- asp.net-mvc-4 - 如何使用 Mvc 4 或 5 创建动态路由
- matlab - 我正在研究 Matlab 音频水印,但它的 audiowrite 不起作用
- stm32 - STM32H723- DMA DAC 仅适用于 const 吗?
- rust - 如何在 bevy 0.5.0 中使用多个摄像头?
- python - 尝试更改标签文本,当变量在没有用户输入的情况下自动更改时
- c++ - 为什么 std::set::extract() 和 std::set::insert(nh) 的标准中没有不抛出保证?
- ansible - 合并多个任务以减少输出
- reactjs - 我在 CRA 和后端之间共享 Typescript 代码的方法:我错过了什么吗?
- c# - 将数据从一个 Gridview 中的行传输到另一个
- batch-file - 在回显语句批处理文件中使用增量变量而不一次又一次地修改它