events.UrlFilter

描述用于过滤 URL 的各种标准。如果过滤器属性中指定的所有标准都与 URL 匹配,则该过滤器匹配。过滤器通常以 UrlFilters数组形式提供给 API 方法。例如,可以使用一个对象作为过滤器来添加 webNavigation 监听器,该对象有一个名为 url 的属性,该属性是 UrlFilters数组,例如 {url:[UrlFilter, UrlFilter, …]}。如果 UrlFilters 数组中的任何一个过滤器匹配,则认为该数组匹配。实际上,单个过滤器中指定的标准是“AND”关系,而数组中所有单独的过滤器是“OR”关系。

所有标准都区分大小写。

类型

此类型的值是对象。它们包含以下属性:

但是,请注意,最后两个模式将不会匹配主机名的最后一个组件,因为在主机名末尾没有添加隐式点。因此,例如,"org." 将匹配 https://borg.com 但不匹配 https://example.org。要匹配这些模式,请使用 hostSuffix

hostContains 可选

string。如果 URL 的主机名(不带协议或端口 - 请参阅 schemesports)包含给定的字符串,则匹配。

  • 要测试主机名组件是否以“foo”开头,请使用 ".foo"。这会匹配 www.foobar.comfoo.com,因为在主机名开头添加了一个隐式点。
  • 要测试主机名组件是否以“foo”结尾,请使用 "foo."
  • 要测试主机名组件是否精确匹配“foo”,请使用 ".foo."
hostEquals 可选

string。如果 URL 的主机名与指定字符串相等,则匹配。

  • 示例:"www.example.com" 匹配 http://www.example.comhttps://www.example.com/,但不匹配 http://example.com/
hostPrefix 可选

string。如果 URL 的主机名以指定字符串开头,则匹配。

hostSuffix 可选

string。如果 URL 的主机名以指定字符串结尾,则匹配。

  • 示例:".example.com" 匹配 http://www.example.com/,但不匹配 http://example.com/
  • 示例:"example.com" 匹配 http://www.example.com/http://fakeexample.com/
pathContains 可选

string。如果 URL 的路径段包含指定字符串,则匹配。

pathEquals 可选

string。如果 URL 的路径段与指定字符串相等,则匹配。

pathPrefix 可选

string。如果 URL 的路径段以指定字符串开头,则匹配。

pathSuffix 可选

string。如果 URL 的路径段以指定字符串结尾,则匹配。

queryContains 可选

string。如果 URL 的查询段包含指定字符串,则匹配。

queryEquals 可选

string。如果 URL 的查询段与指定字符串相等,则匹配。

queryPrefix 可选

string。如果 URL 的查询段以指定字符串开头,则匹配。

querySuffix 可选

string。如果 URL 的查询段以指定字符串结尾,则匹配。

urlContains 可选

string。如果 URL(不带片段标识符)包含指定字符串,则匹配。如果端口号与默认端口号匹配,则会从 URL 中移除端口号。

urlEquals 可选

string。如果 URL(不带片段标识符)与指定字符串相等,则匹配。如果端口号与默认端口号匹配,则会从 URL 中移除端口号。

urlMatches 可选

string。如果 URL(不带片段标识符)与指定的正则表达式匹配,则匹配。如果端口号与默认端口号匹配,则会从 URL 中移除端口号。

  • 例如:urlMatches: "^[^:]*:(?://)?(?:[^/]*\\.)?mozilla\\.org/.*$" 匹配 https://mozilla.org/https://mdn.org.cn/,但不匹配 https://developer.fakemozilla.org/
originAndPathMatches 可选

string。如果 URL(不带查询段和片段标识符)与指定的正则表达式匹配,则匹配。如果端口号与默认端口号匹配,则会从 URL 中移除端口号。

urlPrefix 可选

string。如果 URL(不带片段标识符)以指定字符串开头,则匹配。如果端口号与默认端口号匹配,则会从 URL 中移除端口号。

  • 示例:"https://developer" 匹配 https://mdn.org.cn/https://developers.facebook.com/
urlSuffix 可选

string。如果 URL(不带片段标识符)以指定字符串结尾,则匹配。如果端口号与默认端口号匹配,则会从 URL 中移除端口号。请注意,在主机名后会添加一个隐式的正斜杠“/”,因此 "com/" 匹配 https://example.com,而 "com" 不匹配。

schemes 可选

string数组。如果 URL 的方案与数组中指定的任何方案相等,则匹配。由于方案始终转换为小写,因此此处应始终使用小写形式,否则将永远不匹配。

  • 示例:["https"] 将仅匹配 HTTPS URL。
ports 可选

integer 或(integer 数组)的数组。一个可能包含整数和整数数组的数组。整数被解释为端口号,而整数数组被解释为端口范围。如果 URL 的端口与任何端口号匹配或包含在任何范围内,则匹配。

  • 例如:[80, 443, [1000, 1200]] 匹配端口 80、443 和范围 1000-1200 上的所有请求。

浏览器兼容性

注意:此 API 基于 Chromium 的 chrome.events API。本文档源自 Chromium 代码中的 events.json