From 5c8ddc14ec6adb348d227e1d33e73a4ede3003f7 Mon Sep 17 00:00:00 2001 From: Hoarfroster Date: Sat, 21 Sep 2024 13:27:52 +0800 Subject: [PATCH] zh-CN: create `extension.onRequestExternal` (#23536) Co-authored-by: A1lo --- .../api/extension/onrequestexternal/index.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md new file mode 100644 index 00000000000000..a235b0b010818d --- /dev/null +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md @@ -0,0 +1,88 @@ +--- +title: extension.onRequestExternal +slug: Mozilla/Add-ons/WebExtensions/API/extension/onRequestExternal +l10n: + sourceCommit: b8a0743ca8b1e1b1b1a95cc93a4413c020f11262 +--- + +{{AddonSidebar}} + +> [!WARNING] +> 因为该方法自 Chrome 33 起被弃用,该 API 在 Firefox 中并未被实现。请改用 [runtime.onMessageExternal](/zh-CN/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessageExternal)。 + +当来自另一个扩展的请求被发送时触发。 + +## 语法 + +```js-nolint +chrome.extension.onRequestExternal.addListener(function( + request, // 可选的任意类型 + sender, // runtime.MessageSender + sendResponse, // 函数 +) { }) +chrome.extension.onRequestExternal.removeListener(listener) +chrome.extension.onRequestExternal.hasListener(listener) +``` + +事件有三个函数: + +- `addListener(listener)` + - : 添加一个该事件的监听器。 +- `removeListener(listener)` + - : 停止监听该事件。`listener` 参数是要移除的监听器。 +- `hasListener(listener)` + - : 检查 `listener` 是否注册到该事件上。若该监听器正在监听,则返回 `true`,否则返回 `false`。 + +## addListener 语法 + +### 参数 + +- `listener` + + - : 当此事件发生时调用的函数。该函数传递以下参数: + + - `request` + - : `any`。由调用脚本发送的请求。 + - `sender` + - : {{WebExtAPIRef('runtime.MessageSender')}}。 + - `sendResponse` + - : `function`。当你有响应时调用的函数。参数应为任何可 JSON 化的对象(如果没有响应则为 undefined)。 + +## 浏览器兼容性 + +{{Compat}} + +{{WebExtExamples}} + +> [!NOTE] +> 此 API 基于 Chromium 的 [`chrome.extension`](https://developer.chrome.com/docs/extensions/reference/api/extension/#event-onRequestExternal) API。该文档衍生自 Chromium 代码中的 [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json)。 + +