declarativeNetRequest.ModifyHeaderInfo
要修改的请求或响应头,在 rule.action.requestHeaders 数组或 rule.action.responseHeaders 数组中声明,适用于 rule.action.type 为 "modifyHeaders" 的规则。
每个对象描述一次头修改。要修改多个头,可以在这些数组中指定多个对象,或者跨多个规则进行指定。
匹配的 modifyHeaders 规则按照 匹配优先级 中描述的顺序应用。在每个扩展中,所有优先级低于或等于匹配的 allow 或 allowAllRequests 规则的 modifyHeaders 规则都将被忽略。
如果有多个 modifyHeaders 规则指定了相同的头,则头结果的修改将根据每个规则的优先级和指定的操作来确定。
- 如果规则已添加到某个头,则优先级较低的规则只能添加到该头。不允许执行
set和remove操作。 - 如果规则已设置了某个头,优先级较低的规则不能修改该头,除非是来自同一扩展的
append规则。 - 如果规则已删除了某个头,优先级较低的规则不能修改该头。
类型
此类型的值是对象。它们包含以下属性:
头限制
在 Chrome 中,"append" 支持以下请求头
AcceptAccept-EncodingAccept-LanguageAccess-Control-Request-HeadersCache-ControlConnectionContent-LanguageCookieForwardedIf-MatchIf-None-MatchKeep-AliveRangeTeTrailerTransfer-EncodingUpgradeViaWant-DigestX-Forwarded-For
在 Firefox 中,扩展需要针对 Host 头的新值拥有主机权限。
浏览器兼容性
webextensions.api.declarativeNetRequest.RuleAction.requestHeaders
加载中…
webextensions.api.declarativeNetRequest.RuleAction.responseHeaders
加载中…