Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

permissions.request()

Fragt den Benutzer nach den im permissions.Permissions Objekt aufgeführten Berechtigungen.

Die angeforderten Berechtigungen müssen im Manifest der Erweiterung aufgelistet sein:

  • Im optional_permissions Schlüssel in der Datei manifest.json für origins und permissions. Die origins Eigenschaft kann Berechtigungen enthalten, die eine Teilmenge der Hosts abdecken, die durch eine optionale Berechtigung abgedeckt sind. Wenn zum Beispiel "*://mozilla.org/" in optional_permissions enthalten ist, kann permissions.origins "https://developer.mozilla.org/" beinhalten.
  • In der gecko.data_collection_permissions.optional Eigenschaft des browser_specific_settings Schlüssels in der manifest.json Datei für data_collection.

Anfragen für nur-optionale Berechtigungen dürfen keine weiteren optionalen Berechtigungen beinhalten.

Die Erweiterung kann die Anfrage nur innerhalb des Handlers für eine Benutzeraktion stellen. Sofern der Browser nicht in der Lage ist, alle angeforderten Berechtigungen stillschweigend zu gewähren, wird der Benutzer aufgefordert, diese zu gewähren. Der Browser stellt eine Anfrage für alle angeforderten Berechtigungen: Entweder werden alle gewährt oder keine.

Die Erweiterung behält alle gewährten Berechtigungen, auch bei Upgrade und Deaktivierung sowie Aktivierungs- und Deaktivierungszyklen.

Syntax

js
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 Browser der Erweiterung die im permissions Argument aufgelisteten Berechtigungen gewährt, oder false andernfalls.

Beispiele

Dieser Code fügt einen Klick-Handler hinzu, der den Benutzer um verschiedene Berechtigungen bittet, dann das Ergebnis der Anfrage und die Berechtigungen der Erweiterung nach Abschluss der Anfrage protokolliert.

js
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

Browser-Kompatibilität

Hinweis: Diese API basiert auf der chrome.permissions API von Chromium.