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 browsingContext.contextCreated

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Das Ereignis browsingContext.contextCreated des Moduls browsingContext wird ausgelöst, wenn im Browser ein neuer Kontext erstellt wird.

Ereignisdaten

Das Feld params in der Ereignisbenachrichtigung ist ein Objekt mit den folgenden Feldern:

children

Ein Array von Kontextobjekten, das untergeordnete Kontexte darstellt. Dieses Ereignis enthält keine untergeordneten Kontexte (maxDepth ist 0). Um die untergeordneten Kontexte eines Kontexts abzurufen, verwenden Sie browsingContext.getTree.

clientWindow

Ein String mit der ID des Client-Fensters, das diesen Kontext enthält.

context

Ein String mit der ID des neu erstellten Kontexts.

originalOpener

Ein String mit der ID des Kontexts, der diesen Kontext ursprünglich geöffnet hat. Der Wert ist null, wenn der Kontext direkt geöffnet wurde (nicht durch einen anderen Kontext).

parent

Ein String mit der ID des übergeordneten Kontexts. Der Wert ist null, wenn der Kontext keinen übergeordneten Kontext hat (also ein Kontext der obersten Ebene ist).

url

Ein String mit der URL des Kontexts einschließlich des Fragments zum Zeitpunkt seiner Erstellung. Bei neu erstellten Kontexten ist der Wert "about:blank", da das Ereignis ausgelöst wird, bevor eine Navigation stattgefunden hat und Inhalte geladen wurden. Bei Kontexten, die zum Zeitpunkt des Abonnements bereits existieren, entspricht der Wert ihrer aktuellen URL.

userContext

Ein String mit der ID des Benutzerkontexts, der diesem Kontext zugeordnet ist.

Beschreibung

Wenn Sie dieses Ereignis abonnieren, löst der Browser es sofort rekursiv für alle Kontexte aus, die zum Zeitpunkt des Abonnements bereits existieren – beginnend bei den Kontexten der obersten Ebene bis hin zu ihren untergeordneten Kontexten.

Wenn das Abonnement mithilfe des Parameters contexts auf bestimmte Kontexte beschränkt wurde, wird das Ereignis nur für untergeordnete Kontexte ausgelöst, die innerhalb dieser Kontexte erstellt werden.

Beispiele

Ereignis für einen neuen Tab empfangen

Angenommen, Sie haben eine WebDriver-BiDi-Verbindung, eine aktive Sitzung und ein aktives Abonnement für browsingContext.contextCreated.

Wenn Ihr Automatisierungsskript mit browsingContext.create einen Tab erstellt, sendet der Browser die folgende Benachrichtigung:

json
{
  "type": "event",
  "method": "browsingContext.contextCreated",
  "params": {
    "context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
    "children": null,
    "originalOpener": null,
    "url": "about:blank",
    "userContext": "default",
    "clientWindow": "08c697a1-2664-447d-9c88-52bcee3bb386",
    "parent": null
  }
}

Ereignis für einen untergeordneten Kontext empfangen

Angenommen, Sie haben eine WebDriver-BiDi-Verbindung, eine aktive Sitzung und ein aktives Abonnement für browsingContext.contextCreated.

Angenommen, eine Seite mit einem <iframe> wird geladen. Der Browser sendet für den neuen untergeordneten Kontext die folgende Benachrichtigung:

json
{
  "type": "event",
  "method": "browsingContext.contextCreated",
  "params": {
    "context": "6442450945",
    "children": null,
    "originalOpener": null,
    "url": "about:blank",
    "userContext": "default",
    "clientWindow": "08c697a1-2664-447d-9c88-52bcee3bb386",
    "parent": "93ee5bd6-d256-4608-a002-9a8995cc0e5f"
  }
}

Den öffnenden Kontext identifizieren

Angenommen, Sie haben eine WebDriver-BiDi-Verbindung und eine aktive Sitzung.

Betrachten Sie ein Szenario, in dem bereits zwei Tabs geöffnet sind: Tab 1 unter https://example.com/page1.html und Tab 2 unter https://example.com/page2.html, der von Tab 1 aus mit window.open() geöffnet wurde. Wenn Sie browsingContext.contextCreated abonnieren, löst der Browser Ereignisse für die beiden vorhandenen Kontexte aus. Das Feld originalOpener in der Benachrichtigung für Tab 2 identifiziert den Kontext, der ihn geöffnet hat.

Der Browser sendet für Tab 1 die folgende Benachrichtigung:

json
{
  "type": "event",
  "method": "browsingContext.contextCreated",
  "params": {
    "context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
    "children": null,
    "originalOpener": null,
    "url": "https://example.com/page1.html",
    "userContext": "default",
    "clientWindow": "08c697a1-2664-447d-9c88-52bcee3bb386",
    "parent": null
  }
}

Unmittelbar danach folgt die Benachrichtigung für Tab 2:

json
{
  "type": "event",
  "method": "browsingContext.contextCreated",
  "params": {
    "context": "32ed30da-24ad-459d-8f0d-660526e92d96",
    "children": null,
    "originalOpener": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
    "url": "https://example.com/page2.html",
    "userContext": "default",
    "clientWindow": "08c697a1-2664-447d-9c88-52bcee3bb386",
    "parent": null
  }
}

Spezifikationen

Spezifikation
WebDriver BiDi
# event-browsingContext-contextCreated

Browser-Kompatibilität

Siehe auch