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 (
maxDepthist0). Um die untergeordneten Kontexte eines Kontexts abzurufen, verwenden SiebrowsingContext.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:
{
"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:
{
"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:
{
"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:
{
"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
- Ereignis
browsingContext.contextDestroyed - Befehl
browsingContext.create - Befehl
browsingContext.getTree - Befehl
session.subscribe