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 的主机名(不带协议或端口 - 请参阅schemes和ports)包含给定的字符串,则匹配。- 要测试主机名组件是否以“foo”开头,请使用
".foo"。这会匹配www.foobar.com和foo.com,因为在主机名开头添加了一个隐式点。 - 要测试主机名组件是否以“foo”结尾,请使用
"foo."。 - 要测试主机名组件是否精确匹配“foo”,请使用
".foo."。
- 要测试主机名组件是否以“foo”开头,请使用
hostEquals可选-
string。如果 URL 的主机名与指定字符串相等,则匹配。- 示例:
"www.example.com"匹配http://www.example.com和https://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。