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 und document, 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 Methode register() zurückgegeben wird. Es repräsentiert die registrierten Benutzerskripte und wird verwendet, um die Benutzerskripte abzumelden.

userScripts.UserScriptOptions

Das object, das an die Methode register() ü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.

Browser-Kompatibilität

Siehe auch