每个扩展程序的根目录中都必须有一个 manifest.json 文件,其中列出了与该扩展程序的结构和行为相关的重要信息。本页介绍了扩展程序清单的结构以及它们可以包含的功能。
示例
以下示例清单展示了基本清单结构和一些常用功能,可作为创建您自己的清单的起点:
最小清单
{
"manifest_version": 3,
"name": "Minimal Manifest",
"version": "1.0.0",
"description": "A basic example extension with only required keys",
"icons": {
"48": "images/icon-48.png",
"128": "images/icon-128.png"
}
}
注册内容脚本
{
"manifest_version": 3,
"name": "Run script automatically",
"description": "Runs a script on www.example.com automatically when user installs the extension",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"content_scripts": [
{
"js": [
"content-script.js"
],
"matches": [
"http://*.example.com//"
]
}
]
}
注入内容脚本
{
"manifest_version": 3,
"name": "Click to run",
"description": "Runs a script when the user clicks the action toolbar icon.",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"background": {
"service_worker": "service-worker.js"
},
"action": {
"default_icon": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
}
},
"permissions": ["scripting", "activeTab"]
}
带权限的弹出式窗口
{
"manifest_version": 3,
"name": "Popup extension that requests permissions",
"description": "Extension that includes a popup and requests host permissions and storage permissions .",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"action": {
"default_popup": "popup.html"
},
"host_permissions": [
"https://*.example.com/"
],
"permissions": [
"storage"
]
}
侧边栏
{
"manifest_version": 3,
"name": "Side panel extension",
"version": "1.0",
"description": "Extension with a default side panel.",
"icons": {
"16": "images/icon-16.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"side_panel": {
"default_path": "sidepanel.html"
},
"permissions": ["sidePanel"]
}
清单键
以下是所有受支持的清单键的列表。
扩展程序平台所需的密钥
"manifest_version"- 一个整数,用于指定扩展程序使用的清单文件格式的版本。唯一支持的值是
3。 "name"- 一个字符串,用于在 Chrome 应用商店、安装对话框和用户的“Chrome 扩展程序”页面 (
chrome://extensions) 中标识扩展程序。此字符串的长度不得超过 75 个字符。如需了解如何使用特定于语言区域的名称,请参阅国际化。 "version"- 用于标识扩展程序版本号的字符串。如需了解版本号格式设置,请参阅版本。
Chrome 应用商店所需的密钥
"description"- 一个字符串,用于在 Chrome 应用商店和用户的扩展程序管理页面上描述扩展程序。长度上限为 132 个字符。如需了解如何本地化说明,请参阅国际化。
"icons"- 一个或多个表示您的扩展程序的图标。如需了解最佳实践,请参阅图标。
可选键
"action"- 定义 Google 工具栏中扩展程序图标的外观和行为。如需了解详情,请参阅
chrome.action。 "background"- 指定包含扩展程序的服务工件的 JavaScript 文件,该文件充当事件处理脚本。如需了解详情,请参阅扩展程序服务工作器简介。
"chrome_settings_overrides"- 为所选 Chrome 设置定义替换项。如需了解详情,请参阅替换 Chrome 设置。
"chrome_url_overrides"- 为默认的 Chrome 网页定义替换项。如需了解详情,请参阅替换 Chrome 网页。
"commands"- 在扩展程序中定义键盘快捷键。如需了解详情,请参阅 chrome.commands。
"content_scripts"- 指定用户打开特定网页时要使用的 JavaScript 或 CSS 文件。如需了解详情,请参阅内容脚本。
"content_security_policy"- 对扩展程序可以使用的脚本、样式和其他资源施加限制。如需了解详情,请参阅内容安全政策。
"cross_origin_embedder_policy"- 为 Cross-Origin-Embedder-Policy HTTP 标头指定值,用于配置在扩展程序页面中嵌入跨源资源。
"cross_origin_opener_policy"- 为 Cross-Origin-Opener-Policy HTTP 标头指定值,以便确保顶级扩展程序页面不会与跨源文档共享浏览上下文组。
"declarative_net_request"- 为 declarativeNetRequest API 定义静态规则,允许屏蔽和修改网络请求。
"default_locale"- 一个字符串,用于定义支持多语言区域的扩展程序的默认语言。例如“en”和“pt_BR”。此键是本地化扩展程序的必需键,不得在未本地化的扩展程序中使用。如需了解详情,请参阅国际化。
"devtools_page"- 定义使用 DevTools API 的网页。
"export"- 允许从扩展程序导出资源。如需了解详情,请参阅导出。
"externally_connectable"- 指定哪些其他网页和扩展程序可以连接到您的扩展程序。如需了解详情,请参阅
"externally_connectable"。 "homepage_url"- 一个字符串,用于指定扩展程序首页的网址。如果未定义此属性,首页将默认为扩展程序的 Chrome 应用商店页面。如果您在自己的网站上托管扩展程序,此字段尤其有用。
"host_permissions"- 列出您的扩展程序可以与之互动的网页,这些网页是使用网址匹配模式定义的。系统会在安装时请求用户授予对这些网站的权限。如需了解详情,请参阅主机权限。
"import"- 允许将资源导入扩展程序。如需了解详情,请参阅导入。
"incognito"- 定义扩展程序在无痕模式下的行为方式。支持的值包括
"spanning"、"split"和"not_allowed"。如需了解详情,请参阅