清单文件格式

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