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

View in English Always switch to English

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.

defaultValue Optional

Ein String mit dem Standardwert des prompt()-Dialogs. Dieses Feld ist nur enthalten, wenn der Wert des Feldes type "prompt" ist und der Standardwert nicht null ist.

handler

Ein String, der angibt, wie der Dialog behandelt wird. Das Verhalten wird durch die Capability unhandledPromptBehavior für die Sitzung festgelegt oder für einen einzelnen Benutzerkontext mit browser.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 mit browsingContext.handleUserPrompt schließ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:

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:

json
{
  "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:

json
{
  "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:

json
{
  "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