optional_permissions

Type Array
Pflicht Nein
Manifest-Version 2 oder höher
Beispiel
json
"optional_permissions": [
  "webRequest"
]

Verwenden Sie den Schlüssel optional_permissions, um Berechtigungen aufzulisten, die Sie zur Laufzeit anfordern möchten, nachdem Ihre Erweiterung installiert wurde.

Der permissions Schlüssel listet Berechtigungen auf, die Ihre Erweiterung benötigt, bevor sie installiert werden kann. Im Gegensatz dazu listet optional_permissions Berechtigungen auf, die Ihre Erweiterung zur Installationszeit nicht benötigt, aber nach der Installation anfordern kann. Um eine Berechtigung anzufordern, verwenden Sie die permissions API. Das Anfordern einer Berechtigung kann den Benutzer mit einem Dialog konfrontieren, der ihn bittet, der Erweiterung die Berechtigung zu erteilen.

Für Ratschläge zur Gestaltung Ihrer Anfrage für Laufzeitberechtigungen, um die Wahrscheinlichkeit zu maximieren, dass Benutzer diese gewähren, siehe Anfragen von Berechtigungen zur Laufzeit.

Ab Firefox 84 können Benutzer optionale Berechtigungen über den Firefox Add-ons-Manager verwalten. Erweiterungen, die optionale Berechtigungen verwenden, können auf die API-Ereignisse browser.permissions.onAdded und browser.permissions.onRemoved hören, um zu wissen, wann ein Benutzer diese Berechtigungen gewährt oder widerruft.

Der Schlüssel kann zwei Arten von Berechtigungen enthalten: Host-Berechtigungen und API-Berechtigungen.

Host-Berechtigungen

Diese sind dieselben wie die Host-Berechtigungen, die Sie im permissions Schlüssel angeben können.

Hinweis: Bei Verwendung von Manifest V3 oder höher sollten optionale Host-Berechtigungen mit dem Manifest-Schlüssel optional_host_permissions angegeben werden. Firefox führte optional_host_permissions in Version 128 ein, siehe Bug 1766026, und ermöglicht die fortgesetzte Nutzung von optional_permissions zur Angabe optionaler Hosts. Die Verwendung von optional_host_permissions wird jedoch empfohlen.

API-Berechtigungen

Sie können hier eines der folgenden Elemente einfügen, jedoch nicht in allen Browsern: Überprüfen Sie die Kompatibilitätstabelle für browserspezifische Details.

  • activeTab
  • background
  • bookmarks
  • browserSettings
  • browsingData
  • clipboardRead
  • clipboardWrite
  • contentSettings
  • contextMenus
  • cookies
  • debugger
  • declarativeNetRequest
  • declarativeNetRequestFeedback
  • declarativeNetRequestWithHostAccess
  • devtools
  • downloads
  • downloads.open
  • find
  • geolocation
  • history
  • idle
  • management
  • nativeMessaging
  • notifications
  • pageCapture
  • pkcs11
  • privacy
  • proxy
  • scripting
  • search
  • sessions
  • tabHide
  • tabs
  • topSites
  • webNavigation
  • webRequest
  • webRequestBlocking
  • webRequestFilterResponse
  • webRequestFilterResponse.serviceWorkerScript

Beachten Sie, dass dies ein Teil der API-Berechtigungen ist, die im permissions Schlüssel erlaubt sind.

Von diesem Set werden die folgenden Berechtigungen stillschweigend erteilt, ohne eine Benutzeraufforderung:

  • activeTab
  • cookies
  • idle
  • webRequest
  • webRequestBlocking
  • webRequestFilterResponse
  • webRequestFilterResponse.serviceWorkerScript

Beispiel

json
 "optional_permissions": ["*://developer.mozilla.org/*"]

Ermöglichen Sie in Manifest V2 nur der Erweiterung, privilegierten Zugriff auf Seiten unter developer.mozilla.org anzufordern.

json
  "optional_permissions": ["tabs"]

Ermöglichen Sie der Erweiterung, den Zugriff auf die privilegierten Teile der tabs API anzufordern.

json
  "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]

Ermöglichen Sie in Manifest V2 nur der Erweiterung, beide oben genannten Berechtigungen anzufordern.

Browser-Kompatibilität

BCD tables only load in the browser