Ask for the set of permissions listed in the given
permissions.Permissions
对象。
权限
argument may contain either an
origins
property, which is an array of
host permissions
,或
permissions
property, which is an array of
API permissions
, or both. Permissions must come from the set of permissions defined in the
optional_permissions
manifest.json key. The
origins
property may include permissions that match a subset of the hosts matched by an optional permission: for example, if optional_permissions include "*://mozilla.org/", then
permissions.origins
may include "https://developer.mozilla.org/".
The request can only be made inside the handler for a user action .
Depending on a circumstances, the browser will probably handle the request by asking the user whether to grant the requested permissions. Only a single request is made for all requested permissions: thus either all permissions are granted or none of them are.
Any permissions granted are retained by the extension, even over upgrade and disable/enable cycling.
This is an asynchronous function that returns a
Promise
.
var requesting = browser.permissions.request(
permissions
// Permissions object
)
permissions
A
permissions.Permissions
对象。
A
Promise
that will be fulfilled with
true
if the extension was granted all the permissions listed in the
permissions
argument, or
false
否则。
BCD tables only load in the browser
This code adds a click handler that asks for various permissions, then logs the result of the request and the extension's permissions after the request completed.
const permissionsToRequest = {
permissions: ["bookmarks", "history"],
origins: ["https://developer.mozilla.org/"]
}
function requestPermissions() {
function onResponse(response) {
if (response) {
console.log("Permission was granted");
} else {
console.log("Permission was refused");
}
return browser.permissions.getAll();
}
browser.permissions.request(permissionsToRequest)
.then(onResponse)
.then((currentPermissions) => {
console.log(`Current permissions:`, currentPermissions);
});
}
document.querySelector("#request").addEventListener("click", requestPermissions);
注意: Currently has a bug with requesting origins and requesting permissions on the about:addons page .
注意:
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.
最后修改: , 由 MDN 贡献者