manifest.json 清单详解:事件、匹配规则与设置项
manifest.json 是扩展的身份证加说明书:客户端靠它识别扩展、决定何时触发脚本、给用户生成设置界面。逐段拆解。
基础身份字段
{
"name": "gopeed-extension-demo",
"author": "你的作者名",
"title": "扩展标题",
"description": "扩展描述",
"icon": "icon.png",
"version": "1.0.0"
}
- ID 规则:客户端用「author@name」作扩展唯一 ID——不填 author 容易与别人的扩展撞名被覆盖安装,官方强烈建议填写;
- version:遵循 semver 规范,更新检测就靠它比较大小。
scripts:事件与匹配(重点)
"scripts": [
{
"event": "onResolve",
"match": { "urls": ["*://example.com/*"] },
"entry": "dist/index.js"
}
]
- event:触发时机,onResolve 在解析任务时触发;
- match.urls:URL 匹配模式,规则与 Chrome 扩展的 match patterns 一致;
- entry:命中后执行的脚本文件路径。
repository:去中心化更新的关键
"repository": { "url": "git 仓库的克隆地址" }
要被安装和更新就必须托管到远程 Git 仓库;一仓库多扩展时加 directory 字段指子目录。
settings:免编码的用户设置
声明设置项,客户端自动渲染出配置界面——给扩展加自定义 Cookie、UA 开关不用写任何界面代码:
"settings": [
{ "name": "ua", "title": "User-Agent", "description": "自定义 UA",
"type": "string", "value": "Mozilla/5.0" }
]
type 支持 string / number / boolean 三种。
相关阅读
- 脚本侧怎么接住事件:goja 运行环境与存储 API。
- 发布时仓库配置的细节:发布扩展。