userScripts.execute()
Injiziert ein Benutzerskript in einen Zielkontext (z.B. Tab oder Frame).
Hinweis:
Standardmäßig wird das injizierte Skript bei document_idle oder sofort ausgeführt, wenn die Seite bereits geladen ist. Wenn die Eigenschaft injectImmediately auf true gesetzt ist, wird das Skript ohne Warten injiziert, selbst wenn die Seite noch lädt.
Syntax
let executeUserScript = browser.userScripts.execute(
injection, // object
);
Parameter
injection-
Ein Objekt, das spezifiziert, welche Benutzerskripte injiziert werden sollen, wo und wie.
injectImmediatelyOptional-
boolean. Wenn auftruegesetzt, wird die Injektion so schnell wie möglich im Zielkontext ausgelöst. Dies gewährleistet nicht, dass die Injektion vor dem Laden der Seite erfolgt, da die Seite möglicherweise vor dem Erreichen des Ziels geladen wird. js-
arrayvonuserScripts.ScriptSource. Die Skripte, die in übereinstimmende Seiten injiziert werden sollen. target-
Ein Objekt, das den Zielkontext definiert, in den Skripte injiziert werden.
allFramesOptional-
boolean. Wenn auftruegesetzt, wird das Skript in alle verfügbaren Frames injiziert. Standardmäßig istfalse, wobei das Skript nur in den oberen Frame injiziert wird. documentIdsOptional-
arrayvonstring. Die IDs der Dokumente, in die injiziert werden soll. Darf nicht spezifiziert werden, wennframeIdsgesetzt ist. Weitere Informationen finden Sie im Artikel Arbeiten mit documentId. frameIdsOptional-
arrayvoninteger. Die IDs der Frames, in die injiziert werden soll. Darf nicht spezifiziert werden, wenndocumentIdsgesetzt ist. tabId-
integer. Die ID eines Tabs, in die injiziert werden soll.
worldOptional-
userScripts.ExecutionWorld. Die Ausführungsumgebung, die verwendet werden soll, um die Skripte auszuführen. Standardmäßig"USER_SCRIPT". worldIdOptional-
string. ID einer Benutzerskriptwelt, in der das Skript ausgeführt wird. Nur gültig, wennworldUSER_SCRIPTist oder weggelassen wird. WennworldIdweggelassen wird, wird das Skript in der standardmäßigenUSER_SCRIPT-Welt ausgeführt (""). Werte mit führenden Unterstrichen (_) sind reserviert. Die maximale Länge beträgt 256 Zeichen. Eine Welt kann von mehreren Skripten als deren Ausführungsumgebung verwendet werden. Um das Verhalten einer Welt zu konfigurieren, übergeben Sie ihreworldIdanuserScripts.configureWorld, bevor das erste Skript in dieser Welt ausgeführt wird.
Rückgabewert
Ein Promise, das mit einem Array von Objekten erfüllt wird, das das Ergebnis der Injektion mit folgenden Eigenschaften beschreibt:
documentId-
string. Dokumenten-ID, die mit der Injektion assoziiert ist. Weitere Informationen finden Sie im Artikel Arbeiten mit documentId. errorOptional-
string. Fehlermeldung, falls vorhanden. Dies schließt sich gegenseitig mitresultaus. frameId-
integer. Frame-ID, die mit der Injektion assoziiert ist. resultOptional-
string. Ergebnis der Skriptinjektion, falls vorhanden. Dies schließt sich gegenseitig miterroraus.
Beispiele
await browser.userScripts.execute({
js: [{ code: "console.log('Hello world!');" }],
target: { tabId: 1 },
});