From e8bda62333e640ba56141e615be048c5efcfd0ac Mon Sep 17 00:00:00 2001 From: hoarfroster Date: Fri, 13 Sep 2024 21:20:48 +0800 Subject: [PATCH 1/4] feat: update translation --- .../api/extension/onrequest/index.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md new file mode 100644 index 00000000000000..7169b5f5db3ccb --- /dev/null +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md @@ -0,0 +1,88 @@ +--- +title: extension.onRequest +slug: Mozilla/Add-ons/WebExtensions/API/extension/onRequest +l10n: + sourceCommit: a16fecbf75f71fc11e03ef6cd0b0c34ad6f3d480 +--- + +{{AddonSidebar}} + +> [!WARNING] +> 此 API 在 Firefox 中未实现,因为自 Chrome 33 起已被弃用。请改用 [runtime.onMessage](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)。 + +当从扩展进程或内容脚本发送请求时触发。 + +## 语法 + +```js-nolint +chrome.extension.onRequest.addListener(function( + request, // 可选的任意类型 + sender, // runtime.MessageSender + () => {/* … */} // 函数 +) {/* … */}) +chrome.extension.onRequest.removeListener(listener) +chrome.extension.onRequest.hasListener(listener) +``` + +事件有三个函数: + +- `addListener(listener)` + - : 添加一个监听该事件的监听器。 +- `removeListener(listener)` + - : 停止监听该事件。`listener` 参数是要移除的监听器。 +- `hasListener(listener)` + - : 检查 `listener` 是否注册到该事件上。若该监听器正在监听,则返回 `true`,否则返回 `false`。 + +## addListener 语法 + +### 参数 + +- `listener` + + - : 当此事件发生时调用的函数。该函数传递以下参数: + + - `request` + - : `any`。由调用脚本发送的请求。 + - `sender` + - : {{WebExtAPIRef('runtime.MessageSender')}}。 + - `sendResponse` + - : `function`。当你有响应时调用的函数。参数应为任何可 JSON 化的对象,或者如果没有响应则为 undefined。如果在同一文档中有多个 `onRequest` 监听器,则只有一个可以发送响应。 + +## 浏览器兼容性 + +{{Compat}} + +{{WebExtExamples}} + +> [!NOTE] +> 此 API 基于 Chromium 的 [`chrome.extension`](https://developer.chrome.com/docs/extensions/reference/extension/#event-onRequest) API。该文档衍生自 Chromium 代码中的 [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json)。 + + From 34e7bed1037e35b10e9a5e0ea69bde73fedcbe2b Mon Sep 17 00:00:00 2001 From: Hoarfroster Date: Fri, 13 Sep 2024 21:43:39 +0800 Subject: [PATCH 2/4] fix: typo --- .../add-ons/webextensions/api/extension/onrequest/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md index 7169b5f5db3ccb..87801762ecdb4f 100644 --- a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md @@ -2,7 +2,7 @@ title: extension.onRequest slug: Mozilla/Add-ons/WebExtensions/API/extension/onRequest l10n: - sourceCommit: a16fecbf75f71fc11e03ef6cd0b0c34ad6f3d480 + sourceCommit: a16fecbf75f71fc11e03ef6cd0b0c34ad6f3d480 --- {{AddonSidebar}} @@ -31,7 +31,7 @@ chrome.extension.onRequest.hasListener(listener) - `removeListener(listener)` - : 停止监听该事件。`listener` 参数是要移除的监听器。 - `hasListener(listener)` - - : 检查 `listener` 是否注册到该事件上。若该监听器正在监听,则返回 `true`,否则返回 `false`。 + - : 检查 `listener` 是否注册到该事件上。若该监听器正在监听该事件则返回 `true`,否则返回 `false`。 ## addListener 语法 From 1a20a5b82949ac3bb9e7eb776cbb536524ca5f3c Mon Sep 17 00:00:00 2001 From: Hoarfroster Date: Fri, 20 Sep 2024 20:18:23 +0800 Subject: [PATCH 3/4] feat: improvements --- .../webextensions/api/extension/onrequest/index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md index 87801762ecdb4f..32273cbbe4c4cb 100644 --- a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequest/index.md @@ -2,13 +2,13 @@ title: extension.onRequest slug: Mozilla/Add-ons/WebExtensions/API/extension/onRequest l10n: - sourceCommit: a16fecbf75f71fc11e03ef6cd0b0c34ad6f3d480 + sourceCommit: b8a0743ca8b1e1b1b1a95cc93a4413c020f11262 --- {{AddonSidebar}} > [!WARNING] -> 此 API 在 Firefox 中未实现,因为自 Chrome 33 起已被弃用。请改用 [runtime.onMessage](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)。 +> 因为该方法自 Chrome 33 起被弃用,该 API 在 Firefox 中并未被实现。请改用 [runtime.onMessage](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)。 当从扩展进程或内容脚本发送请求时触发。 @@ -46,7 +46,7 @@ chrome.extension.onRequest.hasListener(listener) - `sender` - : {{WebExtAPIRef('runtime.MessageSender')}}。 - `sendResponse` - - : `function`。当你有响应时调用的函数。参数应为任何可 JSON 化的对象,或者如果没有响应则为 undefined。如果在同一文档中有多个 `onRequest` 监听器,则只有一个可以发送响应。 + - : `function`。当你有响应时调用的函数。参数应为任何可 JSON 化的对象(如果没有响应则为 undefined)。如果在同一文档中有多个 `onRequest` 监听器,则只有一个可以发送响应。 ## 浏览器兼容性 @@ -55,7 +55,7 @@ chrome.extension.onRequest.hasListener(listener) {{WebExtExamples}} > [!NOTE] -> 此 API 基于 Chromium 的 [`chrome.extension`](https://developer.chrome.com/docs/extensions/reference/extension/#event-onRequest) API。该文档衍生自 Chromium 代码中的 [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json)。 +> 此 API 基于 Chromium 的 [`chrome.extension`](https://developer.chrome.com/docs/extensions/reference/api/extension/#event-onRequest) API。该文档衍生自 Chromium 代码中的 [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json)。