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

View in English Always switch to English

script.realmDestroyed-Ereignis

Das Ereignis script.realmDestroyed des Moduls script wird ausgelöst, wenn die Realm eines Dokuments, Workers oder Worklets zerstört wird.

Ereignisdaten

Das Feld params in der Ereignisbenachrichtigung ist ein Objekt mit folgendem Feld:

realm

Eine Zeichenfolge mit der ID der zerstörten Realm.

Beschreibung

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

Dieses Ereignis wird ausgelöst, wenn ein Dokument entladen wird. Das geschieht, wenn sein Kontext zu einem neuen Dokument navigiert oder geschlossen wird. Beim Entladen eines Dokuments werden sowohl die Realm des Dokuments als auch die Realms seiner Worklets zerstört. Das Ereignis wird daher für jede dieser Realms einmal ausgelöst. Das Ereignis wird auch ausgelöst, wenn ein Worker das Ende seines Lebenszyklus erreicht oder beendet wird.

Die Ereignisdaten enthalten nur die Realm-ID. Wenn Sie feststellen müssen, zu welchem Kontext oder Worker die Realm gehörte, gleichen Sie diese ID mit den Realm-Informationen ab, die Sie zuvor von script.realmCreated erhalten oder mit script.getRealms abgerufen haben.

Nachdem dieses Ereignis ausgelöst wurde, ist die ID der zerstörten Realm nicht mehr gültig. Auch die Objekte der Realm werden bei ihrer Zerstörung freigegeben. Sie müssen sie daher nicht mit script.disown freigeben.

Anders als script.realmCreated wird dieses Ereignis nie nachträglich gesendet. Es wird nur für Realms ausgelöst, die zerstört werden, nachdem Sie das Ereignis abonniert haben.

Beispiele

Realms während einer Navigation nachverfolgen

Angenommen, Sie haben eine WebDriver-BiDi-Verbindung und eine aktive Sitzung, in der Sie sowohl script.realmDestroyed als auch script.realmCreated abonniert haben.

Angenommen, ein Tab ist unter https://example.com geöffnet und Sie verwenden browsingContext.navigate, um den Kontext zu https://example.org zu navigieren.

Der Browser sendet zuerst die folgende Benachrichtigung über die zerstörte Realm des vorherigen Dokuments:

json
{
  "type": "event",
  "method": "script.realmDestroyed",
  "params": {
    "realm": "7c37f4c0-abcd-1234-ef56-789012345678"
  }
}

Anschließend sendet er die folgende Benachrichtigung über die Realm des neuen Dokuments:

json
{
  "type": "event",
  "method": "script.realmCreated",
  "params": {
    "context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
    "origin": "https://example.org",
    "realm": "2b8e6d41-0f9a-4c3b-8d7e-1a2b3c4d5e6f",
    "type": "window"
  }
}

Spezifikationen

Spezifikation
WebDriver BiDi
# event-script-realmDestroyed

Browser-Kompatibilität

Siehe auch