management.getPermissionWarningsByManifest()

当用户安装或升级附加组件时,浏览器可能会警告用户该附加组件请求的任何特别强大的权限。并非所有权限都会导致警告,而且此行为在各个浏览器之间并没有统一的标准。

给定 manifest.json 文件的文本,该函数会以字符串数组的形式返回生成的关于该附加组件的权限警告。

此 API 需要“management”API 权限

这是一个异步函数,返回一个 Promise

语法

js
let gettingWarnings = browser.management.getPermissionWarningsByManifest(
  manifestString      // 字符串
)

参数

manifestString

string,包含清单文件的字符串。必须是有效的清单,例如它必须包含所有强制性的清单键。

返回值

Promise,将用一个字符串数组兑现,其中各字符串都包含权限警告的文本。

浏览器兼容性

BCD tables only load in the browser

示例

打印给定清单文件的权限警告:

js
let manifest = {
  manifest_version: 2,
  name: "test",
  version: "1.0",
  permissions: ["management", "<all_urls>"],
};

let manifestString = JSON.stringify(manifest);

function gotWarnings(warnings) {
  console.log(warnings);
}

function gotError(error) {
  console.log(`错误:${error}`);
}

let gettingWarnings =
  browser.management.getPermissionWarningsByManifest(manifestString);
gettingWarnings.then(gotWarnings, gotError);

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