From 11b2f2f3ef5a23e0ba446560ed443a2567818018 Mon Sep 17 00:00:00 2001
From: uiolee <22849383+uiolee@users.noreply.github.com>
Date: Sat, 8 Jul 2023 16:48:06 +0800
Subject: [PATCH 1/5] update Native_manifests
---
.../webextensions/native_manifests/index.md | 215 ++++++++++--------
1 file changed, 122 insertions(+), 93 deletions(-)
diff --git a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
index 788ce1fe848b4c..e1b3b36c86d8d3 100644
--- a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
+++ b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
@@ -12,32 +12,30 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
- 原生应用通信清单 |
-
- 定义关于与本地应用通信的功能:哪一个 extension 可以与本机的原生应用交换信息。
-
+ 原生应用通信清单
+ |
+
+ 开启一个叫
+ 原生通信 的功能:使 extension 可以与本机的原生应用交换信息。
|
- 存储管理清单 |
-
- 定义一些 extension 可以用
- {{WebExtAPIRef("storage.managed")}} 读取的只读数据。
-
+ 存储管理清单
+ |
+
+ 定义一些 extension 可以用
+ {{WebExtAPIRef("storage.managed")}} API 读取的只读数据。
|
- PKCS #11 清单 |
+ PKCS #11 清单 |
-
- 定义了 extension 使用 {{WebExtAPIRef("pkcs11")}} API 去枚举
- PKCS #11 安全模型 并在 Firefox 安装它们。
-
+ 定义了 extension 使用 {{WebExtAPIRef("pkcs11")}} API 去枚举
+ PKCS #11 安全模型 并在 Firefox 安装它们。
|
@@ -70,31 +68,30 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
时传入的名称保持一致。
- 在 OS X 和 Linux 中,它必须和清单文件的文件名保持一致(除.json
- 文件扩展名外)。
+ 在 MacOS 和 Linux 中,它还必须和清单文件的文件名保持一致(除 .json
文件扩展名外)。
+
+ 在Windows上,它必须与你创建的注册表键的名称相匹配,该注册表键包含本地信息传递清单的位置。
- 在 Windows 中,它必须和你创建的包含原生应用清单路径的注册表一致。
- 它必须符合正则表达式
- "^\w+(\.\w+)*$"。这意味着它只能包含小写字母、数字、下划线和
- .
,并且不允许开头或结束是 .
,并且
- .
后面不能是 .
。
+ 它必须符合正则表达式 "^\w+(\.\w+)*$"
。
+ 这意味着它只能包含大小写字母、数字、下划线和 .
。
+ 开头或结束不能是是 .
,并且 .
后面不能是 .
。
description |
String |
- 关于这个原生应用的描述。 |
+ 关于这个原生应用的描述。 |
path |
String |
- 到原生应用的路径。
+ 原生应用的路径。
- 在 Windows 中,这可以是一个相对路径。在 OS X 和 Linux
- 中,必须是绝对路径。
+ 在 Windows 中,这可以是一个相对路径(相对于 manifest )。
+ 在 MacOS 和 Linux中,必须是绝对路径。
|
@@ -102,10 +99,10 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
type |
String |
- 定义 extension 和原生应用的连接方法。
+ 描述 extension 和原生应用的连接方法。
- 目前只支持一种值,那就是
- stdio。该值表示应用使用标准输入(stdin)来接受消息,用标准输出(stdout)来发送消息。
+ 目前只支持一种值,那就是 "stdio" 。
+ 该值表示应用使用标准输入(stdin )来接受消息,用标准输出(stdout )来发送消息。
|
@@ -116,21 +113,21 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
由
Add-on ID
组成的数组。每个值代表允许 ID 为该值的 extension 与这个原生应用通信。
-
-
- 这意味着你可能需要在你 extension 的 manifest.json 中包含
- applications
- 字段,并为 extension 设置一个显示的 ID,哪怕是在开发时
-
-
+
+ 请注意这意味着你可能需要在你 extension 的 manifest.json
文件中包含
+ browser_specific_settings
+ 字段,并在开发过程中设置一个明确的 ID。
+
@@ -148,7 +145,7 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
}
```
-清单表示:它允许 ID 为 ping_pong\@example.org 的 extension 通过传入 ping_pong 给 {{WebExtAPIRef("runtime")}} 与自己连接。原生应用自身在 /path/to/native-messaging/app/ping_pong.py 中。
+这允许 ID 为 `ping_pong@example.org` 的 extension 通过 `ping_pong` 的名字传入给相关 {{WebExtAPIRef("runtime")}} API 函数进行连接。原生应用自身在 `/path/to/native-messaging/app/ping_pong.py` 中。
## 存储管理清单
@@ -168,36 +165,36 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
String |
- 一个 extension 的 ID,表示这个 extension
- 可以读取这个仓库。
-
-
- 给出这个 ID 需要你的 extension 的 manifest.json 文件包含
- applicationsbrowser_specific_settings
- 字段。
+ 字段确定的 ID 一致。
|
description |
String |
- 人类可读的描述,Firefox 会忽略它。 |
+ 人类可读的描述,Firefox 会忽略它 |
type |
String |
- 该值只能是storage 。 |
+
+ 该值只能是 "storage" .
+ |
data |
Object |
- 一个 JSON 对象,其中可以包含任何合法的 JSON
- 值(string、number、boolean、array、object),他们将成为browser.storage.managed 可访问的数据。
+ 一个 JSON 对象,其中可以包含任何合法的 JSON 值,包括
+ string、number、boolean、array、object),他们将成为 browser.storage.managed 存储区域中的数据。
|
@@ -208,22 +205,22 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
```json
{
- "name": "favourite-colour-examples@mozilla.org",
+ "name": "favourite-color-examples@mozilla.org",
"description": "ignored",
"type": "storage",
"data":
{
- "colour": "management thinks it should be blue!"
+ "color": "management thinks it should be blue!"
}
}
```
-在给出的清单文件中,ID 为 favourite-colour-examples\@mozilla.org 的 extension 有权限使用清单中的 data 字段中的数据,代码如下:
+在给出的清单文件中,ID 为 `favourite-color-examples@mozilla.org` 的 extension 有权限使用清单中的 data 字段中的数据,代码如下:
```js
-var storageItem = browser.storage.managed.get('colour');
+let storageItem = browser.storage.managed.get('color');
storageItem.then((res) => {
- console.log(`Managed colour is: ${res.colour}`);
+ console.log(`Managed color is: ${res.color}`);
});
```
@@ -247,15 +244,15 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
PKCS #11 模块的名字。
它必须和你使用 pkcs11
API 时的名字一致。
- 在 OS X 和 Linux
- 中,它必须和清单文件的文件名保持一致(除文件扩展名外)
+ 在 MacOS 和 Linux 中,它必须和清单文件的文件名保持一致(除文件扩展名外)
+
+ 在 Windows 中,它必须与你创建的注册表键的名称相匹配,该注册表键包含本地 ·manifest· 的位置
- 在 Windows 中,它必须和你创建的包含原生应用清单路径的注册表一致。
它必须符合正则表达式
- "^\w+(\.\w+)*$"。这意味着它只能包含小写字母、数字、下划线和
- .
,并且不允许开头或结束是 .
,并且
- .
后面不能是 .
。
+ "^\w+(\.\w+)*$"
。
+ 这意味着它只能包含小写字母、数字、下划线和 .
。
+ 开头或结束不能是是 .
,并且 .
后面不能是 .
。
@@ -263,7 +260,7 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
description |
String |
- 关于该模块的描述。
+ 模块的描述。
它将被用在浏览器界面中为模块设置一个友好的名字(比如,在 Firefox
的“安全设备”对话框中)
@@ -274,9 +271,9 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
| path |
String |
- 到模块的路径。
+ 模块的路径。
- 在 Windows 中,这可以是一个相对路径。在 OS X 和 Linux
+ 在 Windows 中,这可以是一个相对于 manifest 的路径。在 MacOS 和 Linux
中,必须是绝对路径。
|
@@ -284,7 +281,7 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
type |
String |
- 该值只能是pkcs11 。This must be "pkcs11". |
+ 该值只能是 pkcs11 。 |
allowed_extensions |
@@ -293,19 +290,21 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
由
Add-on ID
组成的数组。每个值代表允许 ID 为该值的 extension 与这个模块通信。
-
+
@@ -325,7 +324,7 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
}
```
-给出的这个 JSON 清单,保存为 my_module.json,ID 为 my-extension\@mozilla.org 的 extension 就能够使用类似于如下代码安装 /path/to/libpkcs11testmodule.dylib 安全模块:
+给出的这个 JSON 清单,保存为 my_module.json,ID 为 `my-extension@mozilla.org` 的 extension 就能够使用类似于如下代码安装 /path/to/libpkcs11testmodule.dylib 安全模块:
```js
browser.pkcs11.installModule("my_module");
@@ -333,19 +332,23 @@ browser.pkcs11.installModule("my_module");
## 清单路径
-在 Linux 和 Mac OS X 中,你需要将清单文件存在特定的位置。在 Windows 中,你需要创建一个注册表来指向清单文件。
+在 Linux 和 macOS 中,你需要将清单文件存在特定的位置。在 Windows 中,你需要创建一个注册表键来指向清单文件。
-所有类型的清单的详细规则都是相同的,除了倒数第二个的 type 字段表示了清单的类型。下面的例子展示了三种不同类型的清单。在例子中,\
代表清单中的 name 字段值。
+所有类型的清单的详细规则都是相同的,除了倒数第二个的 type 字段表示了清单的类型。下面的例子展示了三种不同类型的清单。在例子中, `` 代表清单中的 `name` 字段值。
### Windows
如果想要全局可见,使用下面的路径创建注册表:
-```plain
+```
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\
+```
+```
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\ManagedStorage\
+```
+```
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\PKCS11Modules\
```
@@ -353,39 +356,53 @@ HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\PKCS11Modules\
![为原生应用通信清单建立的注册表](native-message-regkey-exaple.png)
-> **备注:** 对于原生应用清单,即使原生应用是 32 位的,也不能在 [Wow6432Node](https://en.wikipedia.org/wiki/WoW64#Registry_and_file_system) 下创建注册表。浏览器将总会在 native 视图下寻找注册表的,而不是 32 位放在环境。确保注册表的创建在原生视图中,你可以键入 KEY_WOW64_64KEY 或 KEY_WOW64_32KEY 到 RegCreateKeyEx。请参考:[Accessing an Alternate Registry View]()
+> **警告:** 从 Firefox 64 开始,将首先检查 32 位注册表视图 [Wow6432Node](https://zh.wikipedia.org/wiki/WoW64#Registry_and_file_system) 的键,然后是 "native" 注册表视图。请使用适合你的应用程序的那一个。
+>
+> **对 于Firefox 63 和更早的版本:** 这个键不应该在 [Wow6432Node](https://zh.wikipedia.org/wiki/WoW64#Registry_and_file_system) 下创建,即使应用程序是 32 位的。以前版本的浏览器总是在注册表的 "native" 视图下寻找该键,而不是在 32 位模拟视图下寻找。为了确保在 "native" 视图中创建键,你可以在 `RegCreateKeyEx` 中传递 `KEY_WOW64_64KEY` 或 `KEY_WOW64_32KEY` 标志。参见[访问备用注册表视图](https://docs.microsoft.com/windows/win32/winprog64/accessing-an-alternate-registry-view)。
如果想要用户级别的可见,使用下面的路径创建注册表:
-```plain
+```
HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\
+```
+```
HKEY_CURRENT_USER\SOFTWARE\Mozilla\ManagedStorage\
+```
+```
HKEY_CURRENT_USER\SOFTWARE\Mozilla\PKCS11Modules\
```
注册表应该有单个默认值,值里存放“到清单文件的路径”。
-### Mac OS X
+### macOS
如果想要全局可见,将清单文件存放在:
-```plain
+```
/Library/Application Support/Mozilla/NativeMessagingHosts/.json
+```
+```
/Library/Application Support/Mozilla/ManagedStorage/.json
+```
+```
/Library/Application Support/Mozilla/PKCS11Modules/.json
```
如果想要用户级别的可见,将清单文件存放在:
-```plain
+```
~/Library/Application Support/Mozilla/NativeMessagingHosts/.json
+```
+```
~/Library/Application Support/Mozilla/ManagedStorage/.json
+```
+```
~/Library/Application Support/Mozilla/PKCS11Modules/.json
```
@@ -393,30 +410,42 @@ HKEY_CURRENT_USER\SOFTWARE\Mozilla\PKCS11Modules\
如果想要全局可见,将清单文件存放在:
-```plain
+```
/usr/lib/mozilla/native-messaging-hosts/.json
+```
+```
/usr/lib/mozilla/managed-storage/.json
+```
+```
/usr/lib/mozilla/pkcs11-modules/.json
```
或者:
-```plain
-/usr/lib64/mozilla/native-messaging-hosts/.json
+```
+ /usr/lib64/mozilla/native-messaging-hosts/.json
+```
-/usr/lib64/mozilla/managed-storage/.json
+```
+ /usr/lib64/mozilla/managed-storage/.json
+```
-/usr/lib64/mozilla/pkcs11-modules/.json
+```
+ /usr/lib64/mozilla/pkcs11-modules/.json
```
如果想要用户级别的可见,将清单文件存放在:
-```plain
+```
~/.mozilla/native-messaging-hosts/.json
+```
+```
~/.mozilla/managed-storage/.json
+```
+```
~/.mozilla/pkcs11-modules/.json
```
From b0df91fbe80278e55f9a8f4edfff645d66cae0e7 Mon Sep 17 00:00:00 2001
From: uiolee <22849383+uiolee@users.noreply.github.com>
Date: Sat, 8 Jul 2023 17:14:12 +0800
Subject: [PATCH 2/5] update prerequisites
---
.../mozilla/add-ons/webextensions/prerequisites/index.md | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/files/zh-cn/mozilla/add-ons/webextensions/prerequisites/index.md b/files/zh-cn/mozilla/add-ons/webextensions/prerequisites/index.md
index 0f7765f1cedba4..60d31c39456058 100644
--- a/files/zh-cn/mozilla/add-ons/webextensions/prerequisites/index.md
+++ b/files/zh-cn/mozilla/add-ons/webextensions/prerequisites/index.md
@@ -3,11 +3,6 @@ title: 前提条件
slug: Mozilla/Add-ons/WebExtensions/Prerequisites
---
-要使用 WebExtension API 进行开发,你需要进行一些最基本的设置。
+{{AddonSidebar}}
-- 下载、安装和启动 [Firefox Developer Edition](https://www.mozilla.org/en-US/firefox/developer/) 或者 [Firefox Nightly](https://nightly.mozilla.org/)。如果想要使用最近的更新,请使用 Nightly 版本。
-- 调整 Firefox 是否允许你安装未签名附加组件的首选项。需注意,该首选项仅在 Firefox Developer Edition 和 Firefox Nightly 中可用。
-
- - 在 Firefox 的地址栏中输入 `about:config`
- - 在搜索框中输入 `xpinstall.signatures.required`
- - 双击该首选项,或者右击并选择“切换”,将其设置为 `false`。
+你所需要的是 Firefox 45 或更高版本。从查看[你的第一个扩展](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension)开始。
From 7de6b040ade9bc9e442c8a95aa73662b75592dd0 Mon Sep 17 00:00:00 2001
From: uiolee <22849383+uiolee@users.noreply.github.com>
Date: Sun, 9 Jul 2023 19:27:14 +0800
Subject: [PATCH 3/5] update
---
.../webextensions/native_manifests/index.md | 29 +++++++++----------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
index e1b3b36c86d8d3..b2e9cd19801887 100644
--- a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
+++ b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
@@ -16,10 +16,8 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
原生应用通信清单
- 开启一个叫
- 原生通信 的功能:使 extension 可以与本机的原生应用交换信息。
+ 开启一个叫原生通信的功能:使
+ extension 可以与本机的原生应用交换信息。
|
@@ -70,12 +68,12 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
在 MacOS 和 Linux 中,它还必须和清单文件的文件名保持一致(除 .json
文件扩展名外)。
- 在Windows上,它必须与你创建的注册表键的名称相匹配,该注册表键包含本地信息传递清单的位置。
+
在 Windows 上,它必须与你创建的注册表键的名称相匹配,该注册表键包含本地信息传递清单的位置。
- 它必须符合正则表达式 "^\w+(\.\w+)*$"
。
- 这意味着它只能包含大小写字母、数字、下划线和 .
。
- 开头或结束不能是是 .
,并且 .
后面不能是 .
。
+ 它必须符合正则表达式
+ "^\w+(\.\w+)*$"
。这意味着它只能包含大小写字母、数字、下划线和
+ .
。开头或结束不能是是 .
,并且 .
后面不能是 .
。
@@ -90,8 +88,8 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
原生应用的路径。
- 在 Windows 中,这可以是一个相对路径(相对于 manifest )。
- 在 MacOS 和 Linux中,必须是绝对路径。
+ 在 Windows 中,这可以是一个相对路径(相对于 manifest )。在 MacOS 和
+ Linux 中,必须是绝对路径。
|
@@ -101,8 +99,8 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
描述 extension 和原生应用的连接方法。
- 目前只支持一种值,那就是 "stdio" 。
- 该值表示应用使用标准输入(stdin )来接受消息,用标准输出(stdout )来发送消息。
+ 目前只支持一种值,那就是
+ "stdio" 。该值表示应用使用标准输入(stdin )来接受消息,用标准输出(stdout )来发送消息。
|
@@ -246,13 +244,12 @@ PKCS #11 清单中包含单个 JSON 对象,对象具有如下属性:
在 MacOS 和 Linux 中,它必须和清单文件的文件名保持一致(除文件扩展名外)
- 在 Windows 中,它必须与你创建的注册表键的名称相匹配,该注册表键包含本地 ·manifest· 的位置
+
在 Windows 中,它必须与你创建的注册表键的名称相匹配,该注册表键包含本地·manifest·的位置
它必须符合正则表达式
- "^\w+(\.\w+)*$"
。
- 这意味着它只能包含小写字母、数字、下划线和 .
。
- 开头或结束不能是是 .
,并且 .
后面不能是 .
。
+ "^\w+(\.\w+)*$"
。这意味着它只能包含小写字母、数字、下划线和
+ .
。开头或结束不能是是 .
,并且 .
后面不能是 .
。
From 4d6bc1ab73eb6027c4ea6b48ade74fb42fad4948 Mon Sep 17 00:00:00 2001
From: Uiolee <22849383+uiolee@users.noreply.github.com>
Date: Sun, 9 Jul 2023 19:31:08 +0800
Subject: [PATCH 4/5] Apply suggestions from code review
Co-authored-by: A1lo
---
.../mozilla/add-ons/webextensions/native_manifests/index.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
index e1b3b36c86d8d3..d87548c24e4804 100644
--- a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
+++ b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
@@ -90,8 +90,8 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
原生应用的路径。
- 在 Windows 中,这可以是一个相对路径(相对于 manifest )。
- 在 MacOS 和 Linux中,必须是绝对路径。
+ 在 Windows 中,这可以是一个相对路径(相对于 manifest)。在 MacOS 和 Linux
+ 中,必须是绝对路径。
|
From 08a2094f98c2b7075c75b72d3e96d4b34b6106ed Mon Sep 17 00:00:00 2001
From: allo
Date: Sun, 9 Jul 2023 23:16:48 +0800
Subject: [PATCH 5/5] minor fixes
---
.../webextensions/native_manifests/index.md | 137 +++++++++---------
.../native-message-regkey-exaple.png | Bin 10426 -> 0 bytes
2 files changed, 65 insertions(+), 72 deletions(-)
delete mode 100644 files/zh-cn/mozilla/add-ons/webextensions/native_manifests/native-message-regkey-exaple.png
diff --git a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
index 36804d16eb5207..4ffe4f4f4186fb 100644
--- a/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
+++ b/files/zh-cn/mozilla/add-ons/webextensions/native_manifests/index.md
@@ -5,7 +5,7 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
{{AddonSidebar}}
-原生应用清单是一个符合特定规则的 JSON 文件,它应该使用与 extension 不同的安装方式存放在用户的计算机上。举个例子,原生应用清单是由设备管理员或者通过原生应用安装器提供的。
+原生应用清单是一个符合特定规则的 JSON 文件,它应该使用与扩展不同的安装方式存放在用户的计算机上。举个例子,原生应用清单是由设备管理员或者通过原生应用安装器提供的。
有三种不同的原生应用清单:
@@ -13,33 +13,32 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests
- 原生应用通信清单
+ 原生应用通信清单
|
- 开启一个叫原生通信的功能:使
- extension 可以与本机的原生应用交换信息。
+ 启用原生通信特性:使扩展可以与本机的原生应用通信。
|
- 存储管理清单
+ 存储管理清单
|
- 定义一些 extension 可以用
+ 定义一些扩展可以用
{{WebExtAPIRef("storage.managed")}} API 读取的只读数据。
|
- PKCS #11 清单 |
+ PKCS #11 清单 |
- 定义了 extension 使用 {{WebExtAPIRef("pkcs11")}} API 去枚举
- PKCS #11 安全模型 并在 Firefox 安装它们。
+ 定义了扩展使用 {{WebExtAPIRef("pkcs11")}} API 去枚举
+ PKCS #11 安全模型,并在 Firefox 安装它们。
|
-对于所有的原生应用清单,你需要做一些工作以便于浏览器可以找到它们。这些规则在 [清单路径](#清单路径) 章节。
+对于所有的原生应用清单,你需要做一些工作以便于浏览器可以找到它们。这些规则在[清单路径](#清单路径)章节。
## 原生应用通信清单
@@ -48,19 +47,19 @@ slug: Mozilla/Add-ons/WebExtensions/Native_manifests