Manifest V3 Chrome扩展使用declarativeNetRequest修改User-Agent无效咨询
问题根因与解决方案
- 最核心的配置错误:你需要修改的
User-Agent是客户端发送给服务端的请求头,但你当前规则的action字段中使用了responseHeaders(用于修改服务端返回给客户端的响应头),这是配置不生效的直接原因,将该字段替换为requestHeaders即可。 - 权限配置要求:要使用declarativeNetRequest修改User-Agent,需要在manifest.json中至少声明以下权限:
如果你只需要对特定站点生效,也可以替换为对应的站点host权限。"permissions": ["declarativeNetRequest", "declarativeNetRequestWithHostAccess"] - User-Agent修改限制说明:Chrome对declarativeNetRequest可修改的请求头有明确白名单,
User-Agent属于允许修改的范围,没有额外的特殊限制,只要规则和权限配置正确即可正常生效。
修正后的规则参考如下:
[ { "id": 1, "priority": 1, "action": { "type": "modifyHeaders", "requestHeaders": [ { "header": "User-Agent", "operation": "set", "value": "v2" } ] }, "condition": {"urlFilter": "*://localhost/*", "resourceTypes": ["main_frame"] } } ]
内容的提问来源于stack exchange,提问作者Jason Hocker
相关产品推荐
相关产品推荐

