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

View in English Always switch to English

optional_permissions

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

Verwenden Sie den Schlüssel optional_permissions, um Berechtigungen aufzulisten, die zur Laufzeit angefordert werden sollen, nachdem Ihre Erweiterung installiert wurde.

Der permissions-Schlüssel listet Berechtigungen auf, die Ihre Erweiterung vor der Installation benötigt. 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.request() API. Das Anfordern einer Berechtigung präsentiert dem Benutzer einen Dialog, der ihn auffordert, die Berechtigung für Ihre Erweiterung zu erteilen, es sei denn, alle angeforderten Berechtigungen werden stillschweigend gewährt.

Für Ratschläge zur Gestaltung Ihrer Anfragen für Laufzeitberechtigungen, um die Wahrscheinlichkeit zu maximieren, dass Benutzer ihnen zustimmen, siehe Anfordern 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 überprüfen, welche Berechtigungen vom Benutzer erteilt wurden, mit permissions.getAll() und nach permissions.onAdded und permissions.onRemoved lauschen, um zu wissen, wann ein Benutzer Berechtigungen erteilt oder widerruft.

Der Schlüssel kann Host-Berechtigungen und API-Berechtigungen enthalten.

Host-Berechtigungen

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

Hinweis: Beim Verwenden von Manifest V3 oder höher sollten optionale Host-Berechtigungen mithilfe des optional_host_permissions-Manifest-Schlüssels angegeben werden. Firefox führte optional_host_permissions in der Version 128 ein, siehe Bug 1766026, und erlaubt weiterhin die Verwendung von optional_permissions zur Spezifikation optionaler Hosts. Die Verwendung von optional_host_permissions wird jedoch empfohlen.

API-Berechtigungen

Die optionalen API-Berechtigungen sind:

  • 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
  • tabGroups
  • tabs
  • topSites
  • userScripts (optional-only)
  • webNavigation
  • webRequest
  • webRequestBlocking
  • webRequestFilterResponse
  • webRequestFilterResponse.serviceWorkerScript

Überprüfen Sie die Kompatibilitätstabelle für browser-spezifische Unterstützungsdetails.

Diese optionalen Berechtigungen werden stillschweigend gewährt, ohne dass ein Benutzerdialog erfolgt:

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

Optional-only-Berechtigungen

Optionale Berechtigungen sind im Allgemeinen zur Verwendung im permissions-Schlüssel verfügbar, sodass sie zur Installationszeit angefordert werden können. Einige Browser unterstützen jedoch das Konzept der optional-only-Berechtigungen, Berechtigungen, die nur zur Laufzeit angefordert werden können. Zum Beispiel können in Firefox optionale Berechtigungen vom Benutzer von der Optionsseite der Erweiterung oder durch die Verwendung von permissions.request() gewährt werden. Optional-only-Berechtigungen müssen einzeln und alleine über die permissions.request() API angefordert werden.

Die optional-only API-Berechtigungen sind:

Beispiele

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

Nur in Manifest V2, ermöglicht es der Erweiterung, privilegierten Zugriff auf Seiten unter developer.mozilla.org anzufordern.

json
  "optional_permissions": ["tabs"]

Ermöglicht der Erweiterung, Zugriff auf die privilegierten Teile der tabs API anzufordern.

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

Nur in Manifest V2, ermöglicht es der Erweiterung, beide oben genannten Berechtigungen anzufordern.

Browser-Kompatibilität