browsingContext.userPromptOpened-Ereignis
Das Ereignis browsingContext.userPromptOpened des Moduls browsingContext wird ausgelöst, wenn im Browser ein Dialog für eine Benutzereingabe geöffnet wird.
Ereignisdaten
Das Feld params in der Ereignisbenachrichtigung ist ein Objekt mit den folgenden Feldern:
context-
Ein String mit der ID des Kontexts, in dem der Dialog geöffnet wurde.
defaultValueOptional-
Ein String mit dem Standardwert des
prompt()-Dialogs. Dieses Feld ist nur enthalten, wenn der Wert des Feldestype"prompt"ist und der Standardwert nichtnullist. handler-
Ein String, der angibt, wie der Dialog behandelt wird. Das Verhalten wird durch die Capability
unhandledPromptBehaviorfür die Sitzung festgelegt oder für einen einzelnen Benutzerkontext mitbrowser.createUserContextüberschrieben. Der String hat einen der folgenden Werte:"accept": Der Browser bestätigt den Dialog."dismiss": Der Browser schließt den Dialog ohne Bestätigung."ignore": Der Browser lässt den Dialog geöffnet, damit der Client ihn mitbrowsingContext.handleUserPromptschließen kann.
message-
Ein String mit der im Dialog angezeigten Nachricht.
type-
Ein String, der die Art des geöffneten Dialogs angibt. Der String hat einen der folgenden Werte:
"alert": Einalert()-Dialog."beforeunload": Ein Dialog, der durch das Ereignisbeforeunloadangezeigt wird."confirm": Einconfirm()-Dialog."prompt": Einprompt()-Dialog.
Beispiele
>Ein Ereignis beim Öffnen eines alert-Dialogs empfangen
Angenommen, über eine WebDriver-BiDi-Verbindung wird mit session.new eine Sitzung erstellt, bei der das Feld default der Capability unhandledPromptBehavior auf "ignore" gesetzt ist. Dadurch lässt der Browser Dialoge geöffnet, damit der Client sie behandeln kann. Nehmen wir außerdem an, dass eine Subscription für browsingContext.userPromptOpened aktiv ist.
Angenommen, eine Seite ruft alert("Are you sure?") auf.
Der Browser sendet die folgende Benachrichtigung:
{
"type": "event",
"method": "browsingContext.userPromptOpened",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"handler": "ignore",
"message": "Are you sure?",
"type": "alert"
}
}
Ein Ereignis beim Öffnen eines prompt-Dialogs mit Standardwert empfangen
Angenommen, eine Seite ruft über dieselbe Verbindung, Sitzung und Subscription wie im ersten Beispiel prompt("Enter your name:", "Jane Doe") auf.
Der Browser sendet die folgende Benachrichtigung:
{
"type": "event",
"method": "browsingContext.userPromptOpened",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"handler": "ignore",
"message": "Enter your name:",
"type": "prompt",
"defaultValue": "Jane Doe"
}
}
Ein Ereignis beim Öffnen eines beforeunload-Dialogs empfangen
Angenommen, der Client verwendet über dieselbe Verbindung, Sitzung und Subscription wie im ersten Beispiel den Befehl browsingContext.navigate, um eine Seite zu verlassen, deren Event-Handler für beforeunload vor dem Verlassen der Seite eine Bestätigung anfordert.
Wenn sich der Dialog öffnet, sendet der Browser vor Abschluss der Navigation die folgende Benachrichtigung:
{
"type": "event",
"method": "browsingContext.userPromptOpened",
"params": {
"context": "93ee5bd6-d256-4608-a002-9a8995cc0e5f",
"handler": "ignore",
"message": "This page is asking you to confirm that you want to leave — information you've entered may not be saved.",
"type": "beforeunload"
}
}
Die Einstellung der Sitzungs-Capability unhandledPromptBehavior gilt auch für die Behandlung von beforeunload-Dialogen. Daher meldet die Benachrichtigung in diesem Beispiel für handler den Wert "ignore".
Der Dialog bleibt geöffnet, bis der Client ihn mit dem Befehl browsingContext.handleUserPrompt schließt.
Spezifikationen
| Spezifikation |
|---|
| WebDriver BiDi> # event-browsingContext-userPromptOpened> |
Browser-Kompatibilität
Siehe auch
- Ereignis
browsingContext.userPromptClosed - Befehl
browsingContext.handleUserPrompt - Befehl
session.subscribe