Chrome扩展中用declarative_net_request的rule_resources改Header为何不稳定?
问题:浏览器扩展Header修改规则间歇性失效
安装扩展后的一段时间内,请求Header能被正常修改,但过一段时间后规则就会失效——Header不再按配置规则修改,重新加载或重装扩展后又能恢复正常。
规则文件(src/rules/example.json)
[ { "id": 1, "priority": 1, "action": { "type": "modifyHeaders", "requestHeaders": [ { "header": "origin", "operation": "set", "value": "https://www.example.com" }, { "header": "referer", "operation": "set", "value": "https://www.example.com" } ] }, "condition": { "urlFilter": "example", "isUrlFilterCaseSensitive": false, "resourceTypes": ["xmlhttprequest", "websocket"] } } ]
扩展清单(manifest.json)关键配置片段
... "permissions":[ ... "declarativeNetRequestWithHostAccess" ... ], "host_permissions": [ "https://*.example.com/", "wss://*/*" ], "optional_host_permissions": [ "https://*/*" ], "declarative_net_request": { "rule_resources": [ { "id": "ruleset_example", "enabled": true, "path": "src/rules/example.json" } ] }, ...
调试确认信息
- 失效前后的请求URL均包含
example,resourceType均为websocket且URL全为小写,规则条件完全匹配 - 项目中仅存在这一条规则,不存在优先级冲突问题
怀疑是某种缓存机制导致规则间歇性失效。
内容的提问来源于stack exchange,提问作者ishandutta2007
相关产品推荐
相关产品推荐

