每个扩展程序的根目录中都必须有一个 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
。