Check whether the extension has the permissions listed in the given permissions.Permissions
object.
The Permissions
argument may contain either an origins property, which is an array of host permissions, or a permissions
property, which is an array of API permissions, or both.
This is an asynchronous function that returns a Promise
. The promise is fulfilled with true only if all the extension currently has all the given permissions. For host permissions, if the extension's permissions pattern-match the permissions listed in origins
, then they are considered to match.
var getContains = browser.permissions.contains( permissions // Permissions object )
permissions
permissions.Permissions
object.A Promise
that will be fulfilled with true
if the extension already has all the permissions listed in the permissions
argument, or false
otherwise.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
contains |
Yes |
79 |
55 |
? |
Yes |
14 |
? |
? |
55 |
? |
? |
? |
// Extension permissions are: // "webRequest", "tabs", "*://*.mozilla.org/*" var testPermissions1 = { origins: ["*://mozilla.org/"], permissions: ["tabs"] }; browser.permissions.contains(testPermissions1).then((result) => { console.log(result); // true }); var testPermissions2 = { origins: ["*://mozilla.org/"], permissions: ["tabs", "alarms"] }; browser.permissions.contains(testPermissions2).then((result) => { console.log(result); // false, "alarms" doesn't match }); var testPermissions3 = { origins: ["https://developer.mozilla.org/"], permissions: ["tabs", "webRequest"] }; browser.permissions.contains(testPermissions3).then((result) => { console.log(result); // true: "https://developer.mozilla.org/" }); // matches: "*://*.mozilla.org/*" var testPermissions4 = { origins: ["https://example.org/"] }; browser.permissions.contains(testPermissions4).then((result) => { console.log(result); // false, "https://example.org/" }); // does not match
Note: This API is based on Chromium's chrome.permissions
API.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/permissions/contains