5 Stimmen

Behandeln Sie das Schließen des Browsers in JavaScript?

Gibt es einen Weg, das Ereignis des Schließens des Browsers mit JavaScript abzufangen? Ich möchte das nicht im Page Unload-Ereignis oder ähnlichem machen. Es muss beim Klicken auf den Browser-Schließen-Button behandelt werden.

Ist das möglich?

13voto

Ionuț Staicu Punkte 19840

Nein. Sie haben nur das onbeforeunload-Ereignis, das als Roh-Javascript verfügbar ist (jquery enthält dieses Ereignis nicht).

Wenn Sie es versuchen möchten, versuchen Sie hier eine Antwort zu posten und schließen Sie dann das Browserfenster, ohne auf "Antwort posten" zu klicken.

Dies ist der einfachste Weg, um auf das "Fenster schließen" Ereignis zuzugreifen.

4voto

mkavici Punkte 174

Das onbeforeunload-Ereignis erfasst jedes Entladeereignis, aber es gibt einen Trick, um zu behandeln, wenn der Benutzer den Browser durch Klicken auf die Schaltfläche "Schließen" schließt. Hier ist ein Beispielcode

  $(document).ready(function(){

    //handle if your mouse is over the document body,
    //if not your mouse is outside the document and if you click close button return message or do what you want

    var out = false;
    $("body").mouseover(function(){
      out=false;
    }).mouseout(function(){
      out=true;
    });

    $(window).bind('beforeunload',function(e){
    if(out)
        {return "Möchten Sie die Seite wirklich verlassen?"}
    });

  });

    nach draußen gehen

    Seite neu laden

3voto

Marselus Chia Punkte 210

Hier ist ein interessanter Artikel dazu von 4guysfromrolla

        window.onbeforeunload = confirmExit;
        function confirmExit()
        {
            return Nachricht, die im Dialogfeld angezeigt werden soll;
        }

0voto

EFraim Punkte 12426

Nicht wirklich. Die Seitentrennevent ist alles, was Sie haben. Und selbst das nicht immer. Es würde die Möglichkeit bieten, sich ziemlich schlecht in die Wünsche des Benutzers einzumischen.

0voto

Sie können alert oder eine Schnittstelle (wie ein Modalfenster oder Ähnliches) nicht aufrufen, während Sie schließen, aber mit dieser Funktion können Sie auf jeden Fall etwas im Hintergrund tun

window.onunload = function()
        {
            if ((window.event.clientX < 0) || (window.event.clientY<0)) // Schaltfläche schließen
            {
                // Bei Schließungsereignis etwas tun
            }
            else if (window.event.altKey == true) // ALT + F4
            {
                // Bei Schließungsereignis etwas tun
            }
            else // Für alle anderen Entladeereignisse
            {
                // Bei Schließungsereignis etwas tun
            }
        }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X