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
Verpflichtend 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 Schlüssel permissions listet Berechtigungen auf, die Ihre Erweiterung benötigt, bevor sie installiert werden kann. Im Gegensatz dazu listet optional_permissions Berechtigungen auf, die Ihre Erweiterung zum Installationszeitpunkt nicht benötigt, aber nach der Installation anfordern kann. Um eine Berechtigung anzufordern, verwenden Sie die permissions.request()-API. Die Anforderung einer Berechtigung präsentiert dem Benutzer einen Dialog, der ihn auffordert, die Berechtigung für Ihre Erweiterung zu gewähren, es sei denn, alle angeforderten Berechtigungen werden stillschweigend gewährt.

Für Ratschläge zur Gestaltung Ihrer Anforderung für Laufzeitberechtigungen, um die Wahrscheinlichkeit zu maximieren, dass Benutzer sie gewähren, siehe Berechtigungen zur Laufzeit anfordern.

Ab Firefox 84 können Benutzer optionale Berechtigungen über den Firefox Add-ons Manager verwalten. Erweiterungen, die optionale Berechtigungen verwenden, können mit permissions.getAll() überprüfen, welche Berechtigungen vom Benutzer erteilt wurden, und mit permissions.onAdded und permissions.onRemoved verfolgen, wann ein Benutzer Berechtigungen erteilt oder widerruft.

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

Host-Berechtigungen

Diese sind die gleichen wie die Host-Berechtigungen, die Sie im Schlüssel permissions 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 hat optional_host_permissions in der Version 128 eingeführt, siehe Fehler 1766026, und ermöglicht die fortgesetzte Verwendung von optional_permissions, um optionale Hosts anzugeben. 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' (nur optional)
  • webNavigation
  • webRequest
  • webRequestBlocking
  • webRequestFilterResponse
  • webRequestFilterResponse.serviceWorkerScript

Überprüfen Sie die Kompatibilitätstabelle für browserspezifische Detailinformationen.

Diese optionalen Berechtigungen werden stillschweigend, ohne Benutzeraufforderung, gewährt:

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

Nur optionale Berechtigungen

Optionale Berechtigungen können generell im Schlüssel permissions verwendet werden, sodass sie zur Installationszeit angefordert werden können. Einige Browser unterstützen jedoch das Konzept von nur optionalen Berechtigungen, Berechtigungen, die nur zur Laufzeit angefordert werden können. Zum Beispiel können in Firefox nur optionale Berechtigungen vom Benutzer über die Optionsseite der Erweiterung oder mit permissions.request() gewährt werden. Nur optionale Berechtigungen müssen einzeln und alleine über die permissions.request()-API angefordert werden.

Die nur optionalen API-Berechtigungen sind:

Beispiele

json
 "optional_permissions": ["*://newreal1.mobosoft.fun/*"]

Nur in Manifest V2, aktivieren Sie die Erweiterung, um privilegierten Zugriff auf Seiten unter newreal1.mobosoft.fun anzufordern.

json
  "optional_permissions": ["tabs"]

Aktivieren Sie die Erweiterung, um Zugriff auf die privilegierten Teile der tabs-API anzufordern.

json
  "optional_permissions": ["*://newreal1.mobosoft.fun/*", "tabs"]

Nur in Manifest V2, aktivieren Sie die Erweiterung, um beide oben genannten Berechtigungen anzufordern.

Browser-Kompatibilität