Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Ereignis script.realmCreated

Das Ereignis script.realmCreated des Moduls script wird ausgelöst, wenn ein neuer Realm für ein Dokument, einen Worker oder ein Worklet erstellt wird.

Ereignisdaten

Das Feld params in der Ereignisbenachrichtigung ist ein Objekt, das je nach Wert des Feldes type die folgenden Felder enthalten kann:

context Optional

Ein String mit der ID des Kontexts, zu dem der Realm gehört. Dieses Feld ist nur enthalten, wenn das Feld type den Wert "window" hat.

origin

Ein String mit dem Origin des Realms.

owners Optional

Ein Array mit einem einzigen Element, das die ID des Realms enthält, dem der Worker gehört. Dieses Feld ist nur enthalten, wenn das Feld type den Wert "dedicated-worker" hat.

realm

Ein String mit der ID des Realms. Übergeben Sie diesen Wert als Feld realm des Parameters target bei Befehlen wie script.evaluate.

sandbox Optional

Ein String mit dem Namen des Sandbox-Realms. Dieses Feld ist nur bei einem Sandbox-Realm enthalten, dessen Typ "window" ist.

type

Ein String, der den Typ des Realms angibt. Er hat einen der folgenden Werte:

Beschreibung

Verwenden Sie dieses Ereignis zusammen mit script.realmDestroyed, um die Lebensdauer von JavaScript-Realms zu überwachen.

Wenn Sie dieses Ereignis abonnieren, sendet der Browser zunächst für jeden bereits vorhandenen Realm, der bereit ist, Skripte auszuführen, ein script.realmCreated-Ereignis. Anschließend sendet er weitere Ereignisse, wenn neue Realms erstellt werden. Sie müssen daher script.getRealms nicht aufrufen, um die Realms zu ermitteln, die bereits vor dem Abonnieren vorhanden waren.

Bei einer Navigation zu einem anderen Dokument wird ein neuer Realm für das Dokument erstellt. Daher erhalten Sie ein neues Ereignis mit einer neuen Realm-ID. Die Realm-ID aus der Zeit vor der Navigation ist nicht mehr gültig.

Beispiele

Ein Ereignis beim Laden eines Dokuments empfangen

Angenommen, Sie verfügen über eine WebDriver-BiDi-Verbindung und eine aktive Sitzung, in der script.realmCreated abonniert ist.

Wenn beim Abonnieren bereits Realms vorhanden sind, erhalten Sie zuerst für jeden dieser Realms ein Ereignis. Wenn anschließend ein Tab ein Dokument unter https://example.com lädt, sendet der Browser die folgende Benachrichtigung:

json
{
  "type": "event",
  "method": "script.realmCreated",
  "params": {
    "context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
    "origin": "https://example.com",
    "realm": "7c37f4c0-abcd-1234-ef56-789012345678",
    "type": "window"
  }
}

Ein Ereignis beim Starten eines Workers empfangen

Angenommen, die Seite startet mit derselben Verbindung und Sitzung wie im vorherigen Beispiel einen Dedicated Worker.

Der Browser sendet die folgende Benachrichtigung. Sie enthält kein Feld context, da ein Worker-Realm keinem Kontext angehört. Stattdessen enthält owners die ID des Realms, dem der Worker gehört:

json
{
  "type": "event",
  "method": "script.realmCreated",
  "params": {
    "origin": "https://example.com",
    "owners": ["7c37f4c0-abcd-1234-ef56-789012345678"],
    "realm": "a1b2c3d4-e5f6-4708-9a1b-2c3d4e5f6071",
    "type": "dedicated-worker"
  }
}

Spezifikationen

Spezifikation
WebDriver BiDi
# event-script-realmCreated

Browser-Kompatibilität

Siehe auch