From 94f965f0b766b2ee4fc01a64fde1374005c203a0 Mon Sep 17 00:00:00 2001 From: Hoarfroster Date: Wed, 7 Aug 2024 18:49:25 +0800 Subject: [PATCH] zh-CN: create `action.isEnabled()` (#22949) Co-authored-by: A1lo --- .../api/action/isenabled/index.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 files/zh-cn/mozilla/add-ons/webextensions/api/action/isenabled/index.md diff --git a/files/zh-cn/mozilla/add-ons/webextensions/api/action/isenabled/index.md b/files/zh-cn/mozilla/add-ons/webextensions/api/action/isenabled/index.md new file mode 100644 index 00000000000000..55ab5411f74145 --- /dev/null +++ b/files/zh-cn/mozilla/add-ons/webextensions/api/action/isenabled/index.md @@ -0,0 +1,74 @@ +--- +title: action.isEnabled() +slug: Mozilla/Add-ons/WebExtensions/API/action/isEnabled +l10n: + sourceCommit: b30a10c08b986ebabd44733fb62f67667350403e +--- + +{{AddonSidebar}} + +如果浏览器操作已启用,则返回 `true`。 + +> [!NOTE] +> 该 API 在 Manifest V3 或更高版本中可用。 + +这是一个返回 [`Promise`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise) 的异步函数。 + +## 语法 + +```js-nolint +let gettingIsEnabled = browser.action.isEnabled( + details // 对象 +) +``` + +### 参数 + +- `details` + + - : `object`。可选的包含要检查的 `tabId` 或 `windowId` 的对象。 + + - `tabId` {{optional_inline}} + - : `integer`,指定要检查的标签页的 id。 + - `windowId` {{optional_inline}} + - : `integer`,指定要检查的窗口的 id。 + + + +- 若同时指定了 `windowId` 和 `tabId`,则函数出错。 +- 若同时未指定 `windowId` 和 `tabId`,则返回全局的启用/禁用状态。 + +### 返回值 + +[`Promise`](/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise),如果浏览器操作已启用,则兑现 `true`,否则兑现 `false`。 + +## 示例 + +检查全局的启用状态: + +```js +browser.action.isEnabled({}).then((result) => { + console.log(result); +}); +``` + +检查当前活动标签页的启用状态: + +```js +async function enabledInActiveTab() { + let tabs = await browser.tabs.query({ + currentWindow: true, + active: true, + }); + let enabled = await browser.action.isEnabled({ + tabId: tabs[0].id, + }); + console.log(enabled); +} +``` + +{{WebExtExamples}} + +## 浏览器兼容性 + +{{Compat}}