匹配模式是一种具有以下结构的网址,用于指定一组网址:
<scheme>://<host>:<port>/<path>
方案:必须是以下方案之一,并使用英文冒号后跟双斜线 (://) 与模式的其余部分分隔开:
httphttps- 通配符
*,仅与http或https匹配 file
如需了解如何将内容脚本注入到不受支持的方案(例如 about: 和 data:)中,请参阅在相关框架中注入。
host:主机名 (www.example.com)。主机名前面的 * 用于匹配子网域 (*.example.com),或者只是一个通配符 *。
- 如果您在主机名格式中使用通配符,则该通配符必须是第一个或唯一一个字符,并且后面必须跟英文句点 (.) 或正斜线 (/)。
端口(可选):要匹配的端口。默认情况下,此值会被视为通配符,其行为与 :* 相同。
路径:网址路径 (/example)。对于主机权限,路径是必需的,但会被忽略。应按照惯例使用通配符 (/*)。
扩展程序在各种使用场景中使用匹配模式,包括:
- 正在注入内容脚本。
- 声明某些 Chrome API 除了自身权限之外还需要的主机权限。
- 授予对可通过网络访问的资源的访问权限。
- 允许使用 externally_connectable.matches 清单键发送和接收消息。
特殊情况
"<all_urls>"- 匹配以允许的方案开头的所有网址,包括有效格式下列出的所有格式。由于它会影响所有主机,因此使用它的扩展程序的 Chrome 应用商店评价可能需要更长时间。
"file:///"- 允许扩展程序在本地文件上运行。此模式要求用户手动授予访问权限。请注意,此情况需要三个斜杠,而不是两个。
- 本地主机网址和 IP 地址
- 使用
http://localhost/*或http://127.0.0.1/*(用于匹配 IP 地址)。匹配模式会匹配所有端口,除非明确指定了端口。 - 顶级域名匹配模式
- Chrome 不支持顶级域名 (TLD) 的匹配模式。在各个顶级网域内指定匹配模式,如
http://google.es/*和http://google.fr/*。
示例格式
https://*/*或https://*/- 匹配使用
https方案的所有网址。 https://*/foo*- 匹配任何主机上使用
https架构且路径以foo开头的网址。匹配的示例包括https://example.com/foo/bar.html和https://www.google.com/foo。 https://*.google.com/foo*bar- 匹配任何使用
https架构、位于 google.com 主机上且路径以foo开头并以bar结尾的网址。匹配的示例包括https://www.google.com/foo/baz/bar和https://docs.google.com/foobar。 file:///foo*- 匹配路径以
foo开头的任何本地文件。匹配的示例包括file:///foo/bar.html和file:///foo。 http://127.0.0.1/*或http://127.0.0.1/- 匹配使用
http架构且位于主机 127.0.0.1 上的所有网址。匹配的示例包括http://127.0.0.1/和http://127.0.0.1/foo/bar.html。 http://localhost/*- 匹配任何 localhost 端口。
*://mail.google.com/或*://mail.google.com/*- 匹配以
http://mail.google.com或https://mail.google.com开头的所有网址。