userScripts (Legacy)
Warnung:
Dies ist die Dokumentation für die veraltete userScripts
-API. Sie ist in Firefox für Manifest V2 verfügbar. Für die Funktionalität mit Benutzerskripten in Manifest V3 siehe die neue userScripts
API.
Verwenden Sie diese API, um Benutzerskripte zu registrieren, bei denen es sich um Drittskripte handelt, die Webseiten manipulieren oder neue Funktionen bereitstellen sollen. Die Registrierung eines Benutzerskripts weist den Browser an, das Skript an Seiten anzuhängen, die den bei der Registrierung angegebenen URL-Mustern entsprechen.
Diese API bietet ähnliche Fähigkeiten wie contentScripts
, jedoch mit Funktionen, die besser zum Handling von Drittskripten geeignet sind:
- Die Ausführung erfolgt in einer isolierten Sandbox: Jedes Benutzerskript wird in einer isolierten Sandbox innerhalb der Webinhaltsprozesse ausgeführt, um zufällige oder absichtliche Beeinflussungen zwischen Skripten zu verhindern.
- Zugriff auf die globalen Werte
window
unddocument
, die der Webseite zugeordnet sind, an die das Benutzerskript angehängt ist. - Kein Zugriff auf WebExtension APIs oder zugehörige Berechtigungen, die der Erweiterung erteilt wurden: Das API-Skript, das die Berechtigungen der Erweiterung erbt, kann registrierten Benutzerskripten verpackte WebExtension APIs bereitstellen. Ein API-Skript wird im Manifest der Erweiterung mithilfe des Schlüssels "user_scripts" deklariert.
Warnung:
Diese API erfordert das Vorhandensein des Schlüssels user_scripts
in der manifest.json, auch wenn kein API-Skript angegeben ist. Beispiel: user_scripts: {}
.
Um die API zu nutzen, rufen Sie register()
auf und übergeben ein Objekt, das die zu registrierenden Skripte definiert. Die Methode gibt ein Promise zurück, das mit einem RegisteredUserScript
-Objekt aufgelöst wird.
Hinweis: Benutzerskripte werden abgemeldet, wenn die zugehörige Erweiterungsseite (von der die Benutzerskripte registriert wurden) entladen wird. Daher sollten Sie ein Benutzerskript von einer Erweiterungsseite registrieren, die mindestens so lange besteht, wie Sie die Benutzerskripte angemeldet halten möchten.
Typen
userScripts.RegisteredUserScript
-
Das
object
, das von der Methoderegister()
zurückgegeben wird. Es repräsentiert die registrierten Benutzerskripte und wird verwendet, um die Benutzerskripte abzumelden. userScripts.UserScriptOptions
-
Das
object
, das an die Methoderegister()
übergeben wird. Es repräsentiert die zu registrierenden Inhalts-Skripte.
Methoden
userScripts.register()
-
Registriert Benutzerskripte.
Events
userScripts.onBeforeScript
-
Ein Event, das dem API-Skript zur Verfügung steht, das in
"user_scripts"
registriert ist und vor der Ausführung eines Benutzerskripts ausgeführt wird. Verwenden Sie es, um den Export der zusätzlichen von dem API-Skript bereitgestellten APIs auszulösen, sodass diese dem Benutzerskript zur Verfügung stehen.