Chrome 插件匹配模式(Match patterns)规则

匹配模式(Match patterns

一、匹配模式结构

匹配模式是采用以下结构的网址,用于指定一组网址:

shell 复制代码
<scheme>://<host>/<path>

1. scheme

必须是以下内容之一,并使用双斜线 (//) 与格式的其余部分分隔开:

  • http
  • https
  • 通配符 *,仅与 httphttps 匹配
  • file

2. host

主机名 (www.example.com)。

  • 主机名前的 *(用于匹配子网域 (*.example.com)),或仅使用通配符 *
  • 如果在主机模式中使用通配符,它必须是第一个或唯一字符,并且后面必须跟一个句点 (.) 或正斜杠 (/)。

3. path

网址路径 (/example)。

  • 对于主机权限,必须提供路径,但该路径会被忽略。按照惯例,应使用通配符 (/*)。

二、特殊匹配

1. "<all_urls>"

  • 匹配以允许方案开头的所有网址,包括有效格式下列出的任何格式。由于会影响所有主机,因此在 Chrome 应用商店中审核使用它的扩展程序可能需要更长时间

2. "file:///"

  • 允许扩展程序在本地文件上运行。此模式要求用户手动授予访问权限。请注意,该情况需要三个斜杠,而不是两个。

3. 本地主机网址和 IP 地址

  • 如需在开发期间匹配任何 localhost 端口,请使用 http://localhost/*。对于 IP 地址,请在路径中指定地址并添加通配符,例如 http://127.0.0.1/*。还可以使用 http://*:*/* 来匹配 localhost、IP 地址和任何端口。

4. 顶级网域匹配模式(Top Level domain

  • Chrome 不支持顶级域名 (TLD) 的匹配格式。在各个 TLD 中指定匹配模式,例如 http://google.es/*http://google.fr/*

三、使用场景

扩展程序可在多种使用场景中使用匹配模式,包括:

四、示例

  • https://*/*https://*/
    • 匹配使用 https 架构的所有网址。
  • https://*/foo*
    • 匹配任意主机上使用 https 架构且路径以 foo 开头的任何网址。匹配示例包括 https://example.com/foo/bar.htmlhttps://www.google.com/foo
  • https://*.google.com/foo*bar
    • 匹配 google.com 主机上使用 https 架构且路径以 foo 开头、以 bar 结尾的任何网址。匹配示例包括 https://www.google.com/foo/baz/barhttps://docs.google.com/foobar
  • file:///foo*
    • 匹配路径以 foo 开头的所有本地文件。匹配示例包括 file:///foo/bar.htmlfile:///foo
  • http://127.0.0.1/*http://127.0.0.1/
    • 匹配主机 127.0.0.1 上使用 http 架构的所有网址。匹配示例包括 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.comhttps://mail.google.com 开头的所有网址。

引用

相关推荐
西洼工作室7 分钟前
React TabBar切换与高亮实现
前端·javascript·react.js
belldeep10 分钟前
前端:Bootstrap 3.0 , 4.0 , 5.0 有什么差别?
前端·bootstrap·html
wuhen_n15 分钟前
Tool Schema 设计模式详解
前端·javascript·ai编程
码喽7号15 分钟前
Vue学习三:element-plus组件和FontAwesome图标组件
前端·vue.js·学习
2501_9159184117 分钟前
WebKit 抓包,WKWebView 请求的完整数据获取方法
android·前端·ios·小程序·uni-app·iphone·webkit
mcooiedo18 分钟前
Go-Gin Web 框架完整教程
前端·golang·gin
小陈工18 分钟前
Python Web开发入门(一):虚拟环境与依赖管理,从零搭建纯净开发环境
开发语言·前端·数据库·git·python·docker·开源
wuhen_n19 分钟前
排列算法完全指南 - 从全排列到N皇后,一套模板搞定所有排列问题
前端·javascript·算法
Cobyte19 分钟前
微信 ClawBot 接入本地 AI Agent 的实现原理
前端·agent·ai编程
@大迁世界19 分钟前
15.React 中的 Fragment 是什么?它出现的动机是什么?
前端·javascript·react.js·前端框架·ecmascript