permissions
Ermöglicht Erweiterungen, zur Laufzeit nach zusätzlichen Berechtigungen zu fragen, nachdem sie installiert wurden.
Erweiterungen benötigen Berechtigungen, um auf leistungsstärkere WebExtension-APIs zuzugreifen. Sie können bei der Installation nach Berechtigungen fragen, indem sie die benötigten Berechtigungen in den permissions
-Schlüssel von manifest.json aufnehmen. Die Hauptvorteile, bei der Installation um Berechtigungen zu bitten, sind:
- Der Benutzer wird nur einmal gefragt, was weniger störend für ihn ist und eine einfachere Entscheidung darstellt.
- Die Erweiterung kann sich auf den Zugriff auf die benötigten APIs verlassen, da die Berechtigungen, wenn sie bereits aktiv sind, gewährt wurden.
In den meisten gängigen Browsern können Benutzer über den Erweiterungsmanager des Browsers sehen, ob ihre installierten Erweiterungen erweiterte Berechtigungen anfordern.
Mit der permissions API kann eine Erweiterung zur Laufzeit um zusätzliche Berechtigungen bitten. Diese Berechtigungen müssen im optional_permissions
-Schlüssel von manifest.json aufgeführt werden. Beachten Sie, dass einige Berechtigungen in optional_permissions
nicht zulässig sind. Die Hauptvorteile sind:
- Die Erweiterung kann mit einem kleineren Satz an Berechtigungen laufen, außer wenn sie diese tatsächlich benötigt.
- Die Erweiterung kann eine Ablehnung der Berechtigung auf eine elegante Weise behandeln, anstatt dem Benutzer bei der Installation eine globale „Alles oder Nichts“-Entscheidung zu präsentieren. Sie können trotzdem viel aus der Karten-Erweiterung herausholen, ohne ihr Zugriff auf Ihren Standort zu gewähren, zum Beispiel.
- Die Erweiterung könnte host permissions benötigen, aber zum Installationszeitpunkt nicht wissen, welche Hostberechtigungen benötigt werden. Zum Beispiel kann die Liste der Hosts eine Benutzereinstellung sein. In diesem Szenario kann das Anfordern eines spezifischeren Bereichs von Hosts zur Laufzeit eine Alternative zum Anfordern von "<all_urls>" während der Installation sein.
Um die permissions API zu verwenden, entscheiden Sie, welche Berechtigungen Ihre Erweiterung zur Laufzeit anfordern kann, und listen Sie sie in optional_permissions
auf. Danach können Sie alle Berechtigungen anfordern, die in optional_permissions
enthalten sind. Anfragen dürfen nur im Handler für eine Benutzeraktion gestellt werden (zum Beispiel ein Klick-Handler).
Ab Firefox 84 können Benutzer optionale Berechtigungen installierter Erweiterungen über den Add-ons-Manager verwalten. Erweiterungen, die optionale Berechtigungen verwenden, sollten auf die API-Ereignisse browser.permissions.onAdded und browser.permissions.onRemoved hören, um zu erfahren, wann ein Benutzer diese Berechtigungen gewährt oder widerruft.
Für Ratschläge zur Gestaltung Ihrer Anforderung für Laufzeitberechtigungen, um die Wahrscheinlichkeit zu maximieren, dass Benutzer ihnen zustimmen, siehe Request permissions at runtime.
Typen
permissions.Permissions
-
Repräsentiert einen Satz von Berechtigungen.
Methoden
permissions.contains()
-
Ermittelt einen bestimmten Satz von Berechtigungen einer Erweiterung.
permissions.getAll()
-
Ruft alle Berechtigungen ab, die diese Erweiterung derzeit hat.
permissions.remove()
-
Gibt einen Satz von Berechtigungen auf.
permissions.request()
-
Fragt nach einem Satz von Berechtigungen.
Ereignishandler
permissions.onAdded
-
Wird ausgelöst, wenn eine neue Berechtigung gewährt wird.
permissions.onRemoved
-
Wird ausgelöst, wenn eine Berechtigung entfernt wird.
Beispielerweiterungen
Browser-Kompatibilität
Siehe auch
manifest.json
permissions
Eigenschaftmanifest.json
optional_permissions
Eigenschaft
Hinweis:
Diese API basiert auf der chrome.permissions
API von Chromium.