optional_permissions
Typ | Array |
---|---|
Erforderlich | Nein |
Manifest-Version | 2 oder höher |
Beispiel |
json
|
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 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, in dem dieser aufgefordert wird, der Erweiterung die Berechtigung zu erteilen, es sei denn, alle angeforderten Berechtigungen werden stillschweigend gewährt.
Für Ratschläge zur Gestaltung Ihrer Anfragen zur Laufzeiterteilung von Berechtigungen, um die Wahrscheinlichkeit zu maximieren, dass Benutzer diese 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 die vom Benutzer gewährten Berechtigungen mit permissions.getAll()
überprüfen und auf permissions.onAdded
und permissions.onRemoved
lauschen, um zu erfahren, 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 Schlüssel permissions
angeben können.
Hinweis:
Beim Verwenden 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 Bug 1766026, und erlaubt weiterhin die Nutzung 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
tabs
topSites
- 'userScripts' (nur optional)
webNavigation
webRequest
webRequestBlocking
webRequestFilterResponse
webRequestFilterResponse.serviceWorkerScript
Überprüfen Sie die Kompatibilitätstabelle für browserspezifische Unterstützung.
Diese optionalen Berechtigungen werden ohne Benutzeraufforderung stillschweigend gewährt:
activeTab
cookies
idle
webRequest
webRequestBlocking
webRequestFilterResponse
webRequestFilterResponse.serviceWorkerScript
Nur optionale Berechtigungen
Optionale Berechtigungen sind im Allgemeinen zur Verwendung im Schlüssel permissions
verfügbar, sodass sie zur Installationszeit angefordert werden können. Einige Browser unterstützen jedoch das Konzept von nur optionalen Berechtigungen, die nur zur Laufzeit angefordert werden können. Beispielsweise können in Firefox nur optionale Berechtigungen vom Benutzer von der Optionsseite der Erweiterung aus oder mit permissions.request()
gewährt werden. Nur optionale Berechtigungen müssen einzeln und allein über die permissions.request()
API angefordert werden.
Die nur optionalen API-Berechtigungen sind:
- 'userScripts' (siehe userScripts Berechtigung)
Beispiele
"optional_permissions": ["*://developer.mozilla.org/*"]
Nur in Manifest V2, ermöglichen Sie der Erweiterung, für privilegierten Zugriff auf Seiten unter developer.mozilla.org zu fragen.
"optional_permissions": ["tabs"]
Ermöglichen Sie der Erweiterung, für Zugriff auf die privilegierten Teile der tabs
API zu fragen.
"optional_permissions": ["*://developer.mozilla.org/*", "tabs"]
Nur in Manifest V2, ermöglichen Sie der Erweiterung, beide oben genannten Berechtigungen zu erfragen.