Zuverlässigkeit von onbeforeunload

8

Wie zuverlässig ist das Ereignis window.onbeforeunload ?

  1. Feuert es in allen gängigen Browsern?
  2. Wird es ausgelöst, wenn der Client-Browser abstürzt? (Ich glaube an Wunder)
  3. Kann es das Close Event verzögern, wenn es "etwas länger" braucht oder wird es abgeschnitten?
  4. Gibt es Alternativen?
RienNeVaPlu͢s 30.05.2013, 15:39
quelle

1 Antwort

10
  1. Ja, onbeforeunload funktioniert in jedem Browser, in dem ich es jemals probiert habe.
  2. Nein, wenn ein Browser abstürzt und dann stirbt, gibt es keine Möglichkeit mehr.
  3. Ich habe in meinem Kommentar "nein" gesagt, aber es hängt etwas davon ab. Wenn Sie beispielsweise eine wirklich lange Schleife haben, wird sie vollständig ausgeführt, bevor die Seite geschlossen wird. Sie können jedoch AJAX oder andere asynchrone Funktionen wie setTimeout nicht innerhalb des Handlers verwenden. Es muss eine Zeichenfolge synchron zurückgeben, um das Entladen zu blockieren.
  4. Noch einmal, ich habe "nein" in meinem Kommentar gesagt, aber ich kann weiter ausführen. Wenn Sie einen Ereignishandler an Ihre Seite anhängen, um einen Klick auf einen Link zu erkennen, können Sie den onbeforeunload -Handler manuell aufrufen, um die Zeichenfolgenantwort abzurufen. Verwenden Sie diese Option, um ein benutzerdefiniertes Bestätigungsfeld anzuzeigen und das Klickereignis aufzuheben damit. Beachten Sie, dass sich das nicht auf die Schaltflächen zum erneuten Laden, Zurück, Vorwärts oder Schließen auswirkt, sondern nur auf einen Link zu einer neuen Seite. Sie sollten auch darauf achten, dass Links zu Ankern auf derselben Seite oder javascript:void(null); -Typ-Links nicht betroffen sind. Dadurch können Sie auch AJAX-Anfragen stellen, und wenn der Benutzer bestätigt, dass er die Seite verlassen möchte, können Sie einige Dinge tun, bevor Sie die neue Seite laden.

    Kurz gesagt, es gibt in einigen Fällen Alternativen, aber alles stammt aus dem onbeforeunload -Ereignis und kann ziemlich komplex sein.

Niet the Dark Absol 30.05.2013, 20:21
quelle

Tags und Links