每个扩展程序的根目录中都必须有一个 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 网页版中标识扩展程序的字符串
Store、安装对话框以及
用户的 Chrome 扩展程序页面 (
chrome://extensions
)。通过 长度上限为 75 个字符。如需了解如何使用特定于语言区域的名称, 请参阅国际化。 "version"
- 用于标识扩展程序版本号的字符串。如需了解 版本号格式,请参阅版本。
Chrome 应用商店所需的密钥
"description"
- 一个字符串,用于描述 Chrome 应用商店和用户平台上的扩展程序 扩展程序管理页面长度上限为 132 个字符。相关信息 请参阅国际化。
"icons"
- 一个或多个代表您的扩展程序的图标。有关最佳 请参阅图标。
可选键
"action"
- 定义扩展程序图标在 Google
工具栏。如需了解详情,请参阅
chrome.action
。 "author"
- 指定用于创建 扩展程序。
"background"
- 指定包含扩展程序的 Service Worker 的 JavaScript 文件,该 Service Worker 充当 事件处理脚本有关详情,请参阅关于扩展程序服务 工作器数量。
"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"
。如需了解详情,请参阅 无痕模式。 "key"
- 针对各种开发用例指定扩展程序的 ID。有关 相关信息,请参阅键。
"minimum_chrome_version"
- 定义可以安装您的扩展程序的最低 Chrome 版本。值
必须是现有 Chrome 浏览器版本字符串的子字符串,例如
"107"
或"107.0.5304.87"
。Chrome 版本低于 最低版本会显示“不兼容”警告,并且 无法安装您的扩展程序。如果您将其添加到现有的附加信息中 使用较低版本的 Chrome 浏览器的用户 。这包括以下国家/地区的商家用户: 暂存模式。 "oauth2"
- 允许使用 OAuth 2.0 安全 ID。此键的值必须是
具有
"client_id"
和"scopes"
属性的对象。有关详情,请参阅 OAuth 2.0 教程。 "omnibox"
- 允许此扩展程序在 Chrome 的地址栏中注册关键字。有关 信息,请参阅多功能框。
"optional_host_permissions"
- 声明可选的主机 权限 。
"optional_permissions"
- 为扩展程序声明可选权限。
"options_page"
- 指定 options.html 文件的路径,该文件将用作扩展程序 选项页面。有关详情,请参阅向用户提供 选项。
"options_ui"
- 指定可供用户更改扩展程序选项的 HTML 文件的路径 打开“Chrome 扩展程序”页面。有关详情,请参见嵌入式 选项。
"permissions"
- 允许使用特定的扩展程序 API。请参阅权限 以了解一般说明。各 API 的参考页面列出了 所需权限。
"requirements"
- 列出使用扩展程序所需的技术。如需查看支持的 请参阅要求。
"sandbox"
- 定义一组无法访问扩展程序 API 或 直接访问未经过沙盒化的网页。如需了解详情,请参阅 沙盒。
"short_name"
- 一个字符串,其中包含要使用的扩展程序名称的缩略版本 。长度上限为 12 个字符。如果这是 未定义,“name”的截断版本键。
"side_panel"
- 用于标识要在以下位置显示的 HTML 文件: sidePanel
"storage"
- 声明托管存储的 JSON 架构 区域。有关 相关信息,请参阅存储区域的清单。
"tts_engine"
- 将扩展程序注册为文字转语音引擎。如需了解详情,请参阅 ttsEngine API 实现。
"update_url"
- 包含扩展程序更新页面网址的字符串。在以下情况下使用此密钥: 您是托管扩展程序的 Chrome 应用商店之外的应用。
"version_name"
- 描述扩展程序版本的字符串。示例包括
"1.0 beta"
和"build rc2"
。如果未指定,则版本值会显示在 扩展程序管理页面。 "web_accessible_resources"
- 定义扩展名内可通过网页或其他工具访问的文件 。如需了解详情,请参阅可通过 Web 访问 资源。
可选的 ChromeOS 密钥
"file_browser_handlers"
- 提供对
fileBrowserHandler
的访问权限 API:该 API 可让扩展程序访问 ChromeOS 文件浏览器。 "file_handlers"
- 用于指定 ChromeOS 扩展程序要处理的文件类型。如需了解详情,请参阅
file_handlers
。 "file_system_provider_capabilities"
- 允许访问
fileSystemProvider
API:可让扩展程序创建 ChromeOS 可以使用的文件系统。 "input_components"
- 允许使用 Input Method Editor API。如需了解详情,请参阅
input_components
。