permissions.contains()
檢查擴充套件是否具有在給定的 permissions.Permissions 物件中列出的許可權。
Permissions 引數可以包含一個 origins 屬性(一個 主機許可權 陣列)或一個 permissions 屬性(一個 API 許可權 陣列),或者兩者都包含。
這是一個非同步函式,返回一個 Promise。如果擴充套件具有所有指定的許可權,則 Promise 解析為 true。對於主機許可權,如果擴充套件的許可權 模式匹配 origins 中列出的許可權,則認為它們匹配。
語法
js
let getContains = browser.permissions.contains(
permissions // Permissions object
)
引數
返回值
一個 Promise,如果擴充套件已擁有 permissions 引數中列出的所有許可權,則會解析為 true,否則解析為 false。
示例
js
// Extension permissions are:
// "webRequest", "tabs", "*://*.mozilla.org/*"
let testPermissions1 = {
origins: ["*://mozilla.org/"],
permissions: ["tabs"],
};
const testResult1 = await browser.permissions.contains(testPermissions1);
console.log(testResult1); // true
let testPermissions2 = {
origins: ["*://mozilla.org/"],
permissions: ["tabs", "alarms"],
};
const testResult2 = await browser.permissions.contains(testPermissions2);
console.log(testResult2); // false, "alarms" doesn't match
let testPermissions3 = {
origins: ["https://mdn.club.tw/"],
permissions: ["tabs", "webRequest"],
};
const testResult3 = await browser.permissions.contains(testPermissions3);
console.log(testResult3); // true: "https://mdn.club.tw/", matches: "*://*.mozilla.org/*"
let testPermissions4 = {
origins: ["https://example.org/"],
};
const testResult4 = await browser.permissions.contains(testPermissions4);
console.log(testResult4); // false: "https://example.org/", `origins` doesn't match
擴充套件程式示例
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的 chrome.permissions API。