events.UrlFilter

描述用于过滤 URL 的各种条件。如果过滤器属性中指定的全部条件都与 URL 匹配,则该过滤器匹配。过滤器通常以 UrlFilter 数组的形式提供给 API 方法。例如,webNavigation 监听器可以添加一个过滤器,该过滤器是一个包含单个 url 属性的对象,该属性是一个 UrlFilter 数组,例如 {url:[UrlFilter, UrlFilter, …]}。如果 UrlFilter 数组中的任何过滤器匹配,则将其视为与该数组匹配。实际上,单个过滤器中指定的条件是按 AND 连接的,而数组中所有单独的过滤器是按 OR 连接的。

所有条件都区分大小写。

类型

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

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

hostContains 可选

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

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

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

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

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

hostSuffix 可选

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

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

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

pathEquals 可选

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

pathPrefix 可选

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

pathSuffix 可选

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

queryContains 可选

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

queryEquals 可选

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

queryPrefix 可选

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

querySuffix 可选

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

urlContains 可选

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

urlEquals 可选

字符串。如果 URL(不含片段标识符)等于指定的字符串,则匹配。如果端口号与默认端口号匹配,则从 URL 中删除端口号。

urlMatches 可选

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

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

字符串。如果 URL 不含查询段和片段标识符,并且与指定的 正则表达式 匹配,则匹配。如果端口号与默认端口号匹配,则从 URL 中删除端口号。

urlPrefix 可选

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

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

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

schemes 可选

字符串数组。如果 URL 的方案等于数组中指定的任何方案,则匹配。因为方案始终转换为小写,所以应始终以小写形式给出,否则将永远不会匹配。

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

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

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

浏览器兼容性

BCD 表格仅在浏览器中加载

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