diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md new file mode 100644 index 00000000000000..b5b41560987262 --- /dev/null +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md @@ -0,0 +1,77 @@ +--- +title: extension.sendRequest() +slug: Mozilla/Add-ons/WebExtensions/API/extension/sendRequest +l10n: + sourceCommit: 5f090dea2cacee4ff4f654241f017a9f6649124e +--- + +{{AddonSidebar}}{{Deprecated_Header}} + +> [!WARNING] +> 该方法已被弃用。请改用 {{WebExtAPIRef("runtime.sendMessage")}}。 + +向插件中其他的监听器发送请求。该方法类似于 {{WebExtAPIRef('runtime.connect')}},但它只能发送可选地带有响应的单一请求。发送请求后在扩展的每个页面中,{{WebExtAPIRef('extension.onRequest')}} 事件都会触发。 + +## 语法 + +```js-nolint +chrome.extension.sendRequest( + extensionId, // 可选的字符串 + request, // 任意类型 + (response) => {/* … */} // 可选的函数 +) +``` + +该 API 的返回 promise 的版本同样以 `browser.extension.sendRequest()` 的形式可用。 + +### 参数 + +- `extensionId` {{optional_inline}} + - : `string`,你所希望连接到的扩展的 ID。如果省略,则默认为你自己的扩展。 +- `request` + - : `any`。 +- `responseCallback` {{optional_inline}} + + - : `function`,将传递如下参数的函数: + + - `response` + - : `any`,由请求处理器发送的 JSON 响应对象。如果在连接到插件时发生错误,回调函数将不带参数地被调用,且 {{WebExtAPIRef('runtime.lastError')}} 将被设置为错误消息。 + +## 浏览器兼容性 + +{{Compat}} + +{{WebExtExamples}} + +> [!NOTE] +> 此 API 基于 Chromium 的 [`chrome.extension`](https://developer.chrome.google.cn/docs/extensions/reference/api/extension/#method-sendRequest) API。该文档衍生自 Chromium 代码中的 [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json)。 + +