permissions.request()
Fordern Sie die im angegebenen permissions.Permissions
Objekt aufgeführten Berechtigungen an.
Das Permissions
-Argument kann entweder eine origins
-Eigenschaft enthalten, die ein Array von Host-Berechtigungen ist, oder eine permissions
-Eigenschaft, die ein Array von API-Berechtigungen ist, oder beides. Berechtigungen müssen aus dem Satz von Berechtigungen stammen, die im optional_permissions
Schlüssel von manifest.json definiert sind. Die origins
-Eigenschaft kann Berechtigungen enthalten, die mit einer Teilmenge der Hosts übereinstimmen, die durch eine optionale Berechtigung übereinstimmen: Zum Beispiel kann, wenn optional_permissions "*://mozilla.org/" enthalten, permissions.origins
"https://developer.mozilla.org/" enthalten.
Die Anfrage kann nur im Handler für eine Benutzeraktion gestellt werden.
Je nach Umstand wird der Browser die Anfrage wahrscheinlich bearbeiten, indem er den Benutzer fragt, ob die angeforderten Berechtigungen gewährt werden sollen. Es wird nur eine einzige Anfrage für alle angeforderten Berechtigungen gestellt: Entweder werden also alle Berechtigungen gewährt oder keine.
Alle gewährten Berechtigungen werden von der Erweiterung beibehalten, auch über Upgrade und Deaktivierung/Aktivierung hinweg.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let requesting = browser.permissions.request(
permissions // Permissions object
)
Parameter
permissions
-
Ein
permissions.Permissions
Objekt.
Rückgabewert
Ein Promise
, das mit true
erfüllt wird, wenn der Erweiterung jetzt alle im permissions
Argument aufgelisteten Berechtigungen gewährt wurden, oder false
andernfalls.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Dieser Code fügt einen Klick-Handler hinzu, der verschiedene Berechtigungen anfordert, dann das Ergebnis der Anfrage und die Berechtigungen der Erweiterung nach Abschluss der Anfrage protokolliert.
const permissionsToRequest = {
permissions: ["bookmarks", "history"],
origins: ["https://developer.mozilla.org/"],
};
async function requestPermissions() {
function onResponse(response) {
if (response) {
console.log("Permission was granted");
} else {
console.log("Permission was refused");
}
return browser.permissions.getAll();
}
const response = await browser.permissions.request(permissionsToRequest);
const currentPermissions = await onResponse(response);
console.log(`Current permissions:`, currentPermissions);
}
document
.querySelector("#request")
.addEventListener("click", requestPermissions);
Beispielerweiterungen
Hinweis: Derzeit gibt es einen Fehler beim Anfragen von Origins und beim Anfragen von Berechtigungen auf der about:addons Seite.
Hinweis:
Diese API basiert auf der chrome.permissions
API von Chromium.