--- title: permissions.contains() slug: Mozilla/Add-ons/WebExtensions/API/permissions/contains tags: - Contains - permissions.contains() translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/contains ---
{{AddonSidebar()}}

检查扩展名是否具有给定 {{WebExtAPIRef("permissions.Permissions")}}  对象中列出的权限。

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.

Syntax

var getContains = browser.permissions.contains(
  permissions                // Permissions object
)

Parameters

permissions
A {{WebExtAPIRef("permissions.Permissions")}} object.

Return value

A Promise that will be fulfilled with true if the extension already has all the permissions listed in the permissions argument, or false otherwise.

Browser compatibility

{{Compat("webextensions.api.permissions.contains")}}

Examples

// 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

{{WebExtExamples}}

Acknowledgements

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.