management.setEnabled()

启用或禁用给定的附加组件。

该函数通常必须在用户操作的上下文中调用,例如按钮的点击处理器。浏览器可能还会要求用户确认更改。

此 API 需要“management”API 权限

这是一个返回 Promise 的异步函数。

该函数支持启用或禁用主题附加组件,但如果用于启用或禁用其它类型的 Web 扩展,将会返回错误。

语法

js
let settingEnabled = browser.management.setEnabled(
  id,              // 字符串
  enabled         // 布尔值
)

参数

id

string,要启用/禁用的附加组件的 ID。

enabled

boolean,要启用还是禁用。

返回值

Promise,当附加组件已被禁用或启用时将不带参数地兑现。

浏览器兼容性

BCD tables only load in the browser

示例

切换 ID 为“my-add-on”的附加组件的启用/禁用状态:

js
let id = "my-add-on";

function toggleEnabled(id) {
  let getting = browser.management.get(id);
  getting.then((info) => {
    browser.management.setEnabled(id, !info.enabled);
  });
}

toggleEnabled(id);

示例扩展

备注: 该 API 基于 Chromium 的 chrome.management API。本文衍生自 Chromium 代码中的 management.json