declarativeNetRequest.HeaderInfo

要匹配的響應標頭,在 rule.condition.excludedResponseHeaders 陣列或 rule.condition.responseHeaders 陣列中宣告。如果指定,陣列必須非空。

當在 condition responseHeaders 中使用時,如果請求匹配此響應標頭條件,則規則匹配。當在 condition excludedResponseHeaders 中使用時,如果請求匹配此響應標頭條件,則規則不匹配。

每個物件描述一個要匹配或排除的標頭。要檢查多個標頭,可以在這些陣列中指定多個物件,或跨多個規則指定。

注意: 透過標頭匹配是一項相對較新的功能。確保在使用它之前進行特性檢測以確認其可用性。雖然某些瀏覽器會在存在未識別的條件時忽略整個規則,但 Chrome 121 至 127 版本會在忽略 responseHeaders 條件的同時應用整個規則。這可能導致匹配到比預期更多的請求,請參閱 Chromium issue 347186592

型別

此型別的值是物件。它們包含以下屬性:

一個 string。標頭的名稱。僅當未指定 values 和 excludedValues 時,此條件才按名稱匹配。

values 可選

一個 string 陣列。如果指定,當標頭的值至少匹配此列表中的一個模式時,此條件將匹配。這支援不區分大小寫的標頭值匹配以及以下構造:

  • '*' :匹配任意數量的字元。
  • '?' :匹配零個或一個字元。
  • '*''?' 可以用反斜槓進行轉義,例如 '\*''\?'
excludedValues 可選

一個 string 陣列。如果指定,當標頭存在但其值包含此列表中的至少一個元素時,此條件將不匹配。這使用與 values 相同的 glob 模式語法。如果 valuesexcludedValues 都匹配,則 excludedValues 優先。

瀏覽器相容性

webextensions.api.declarativeNetRequest.RuleCondition.responseHeaders

webextensions.api.declarativeNetRequest.RuleCondition.excludedResponseHeaders