Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[zh-cn]: update manifest.json in webext #16633

Merged
merged 1 commit into from
Oct 20, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 59 additions & 24 deletions files/zh-cn/mozilla/add-ons/webextensions/manifest.json/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,45 +5,80 @@ slug: Mozilla/Add-ons/WebExtensions/manifest.json

{{AddonSidebar}}

> **备注:** 本文描述的是适用于 WebExtensions 的 manifest.json。若你正在寻找适用于 PWA 的 manifest.json 的有关信息,请参考这篇文章:[Web App Manifest](/zh-CN/docs/Web/Manifest)。
> **备注:** 本文描述的是适用于 web 扩展技术的 manifest.json。若你正在寻找适用于 PWA 的 manifest.json 的有关信息,请参考这篇文章:[Web App 清单](/zh-CN/docs/Web/Manifest)。

`manifest.json` 是每个 WebExtension 唯一必须包含的元数据文件
`manifest.json` 是每个使用 WebExtension API 的扩展必须包含的唯一文件

通过使用 `manifest.json`,你可以指定扩展的基本元数据,例如名称和版本,还可以指定扩展各个方面的功能(例如后台脚本内容脚本和某些浏览器行为)。
通过使用 `manifest.json`,你可以指定扩展的基本元数据,例如名称和版本,还可以指定扩展各个方面的功能(例如后台脚本内容脚本和某些浏览器行为)。

它是一个允许使用 "`//`" 撰写单行注释的、特殊的 [JSON](/zh-CN/docs/Glossary/JSON) 文件。
它是一个允许使用`//`撰写单行注释的、特殊的 [JSON](/zh-CN/docs/Glossary/JSON) 文件。

## manifest.json 键列表

支持的 `manifest.json` 键如下所示:

### 简体中文内容

{{ListSubpages("/zh-CN/Add-ons/WebExtensions/manifest.json")}}

### 英文内容

{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}}

- `"manifest_version"`,`"version"`,和 `"name"` 是唯一的强制必填键。
- 如果 "\_locales" 目录存在的话,"`default_locale"` 也必须相应存在,否则不应存在。
- Google Chrome 不支持 `"browser_specific_settings"`
这些是 `manifest.json` 键;除非另有说明,否则这些键在 Manifest V2 及以上版本中可用:

- [action](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/action)(Manifest V3 及以上)
- [author](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/author)
- [background](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background)
- [browser_action](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action)(仅 Manifest V2)
- [browser_specific_settings](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings)
- [chrome_settings_overrides](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides)
- [chrome_url_overrides](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/chrome_url_overrides)
- [commands](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/commands)
- [content_scripts](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts)
- [content_security_policy](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy)
- [declarative_net_request](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/declarative_net_request)
- [default_locale](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/default_locale)
- [description](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/description)
- [developer](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/developer)
- [devtools_page](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/devtools_page)
- [dictionaries](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/dictionaries)
- [externally_connectable](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/externally_connectable)
- [homepage_url](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url)
- [host_permissions](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/host_permissions)(Manifest V3 及以上)
- [icons](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons)
- [incognito](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/incognito)
- [manifest_version](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version)
- [name](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name)
- [offline_enabled](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/offline_enabled)
- [omnibox](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/omnibox)
- [optional_permissions](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions)
- [options_page](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_page)
- [options_ui](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_ui)
- [page_action](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action)(仅 Chrome 中的 Manifest V2)
- [permissions](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions)
- [protocol_handlers](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers)
- [short_name](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/short_name)
- [sidebar_action](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action)
- [storage](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/storage)
- [theme](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme)
- [theme_experiment](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme_experiment)
- [user_scripts](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts)(仅 Manifest V2)
- [version](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version)
- [version_name](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version_name)
- [web_accessible_resources](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources)

### 关于 manifest.json 键的注意事项

- `"manifest_version"`、`"version"` 和 `"name"` 是唯一的强制必填键。
- 如果“`\_locales`”目录存在,`"default_locale"` 也必须相应存在,否则不应存在。
- Google Chrome 不支持 `"browser_specific_settings"`。

### 在运行时访问 manifest.json 键

你可以在拓展的 JavaScript 代码中通过 {{WebExtAPIRef("runtime.getManifest()")}} 函数访问拓展的 manifest 数据
你可以在拓展的 JavaScript 代码中通过 {{WebExtAPIRef("runtime.getManifest()")}} 函数访问拓展的清单数据

```js
browser.runtime.getManifest().version;
```

## 示例

The block below shows the basic syntax for some common manifest keys.
下面的代码块显示了一些常用清单键的基本语法。

> **备注:** This is not intended to be used as a copy-paste-ready example. Selecting the keys you'll need depends on the extension you are developing.
> **备注:** 本示例并非用于直接复制粘贴。根据你要开发的扩展选择相应的键。

For complete example extensions, see [Example extensions](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Examples).
有关完整的扩展示例,请参阅[扩展示例](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Examples)

```json
{
Expand Down Expand Up @@ -89,7 +124,7 @@ For complete example extensions, see [Example extensions](/zh-CN/docs/Mozilla/Ad

"default_locale": "en",

"description": "...",
"description": "",

"icons": {
"48": "icon.png",
Expand All @@ -98,7 +133,7 @@ For complete example extensions, see [Example extensions](/zh-CN/docs/Mozilla/Ad

"manifest_version": 2,

"name": "...",
"name": "",

"page_action": {
"default_icon": {
Expand All @@ -123,7 +158,7 @@ For complete example extensions, see [Example extensions](/zh-CN/docs/Mozilla/Ad

## 浏览器兼容性

For a full overview of all manifest keys and their sub-keys, see the [full `manifest.json` browser compatibility table](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json).
有关所有清单键及其子键的完整概览,请参阅[完整的 `manifest.json` 浏览器兼容性表](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json)

{{Compat}}

Expand Down