So rufen Sie eine Funktion auf, bevor Sie die Seite mit Javascript verlassen

9

Ich möchte eine Funktion ausführen, bevor ich die Seite verlasse, ohne ein Bestätigungs-Popup mit Javascript anzuzeigen. Ich habe versucht, mit dem Code unten, aber es hat nicht funktioniert oder mit dem onbeforeunload , aber es zeigt immer das Popup.

%Vor%     
PMay 1903 20.02.2015, 10:47
quelle

8 Antworten

24

Sie können Ihre Funktion immer aufrufen, bevor Sie die Seite verlassen.

%Vor%

onbeforeunload:

%Vor%

Oder mit jQuery:

%Vor%

Dies fragt den Benutzer nur, ob er die Seite verlassen möchte oder nicht, Sie können ihn nicht umleiten, wenn er sich dafür entscheidet, auf der Seite zu bleiben. Wenn sie sich entscheiden zu gehen, wird der Browser dorthin gehen, wo sie ihm gesagt haben, dass er gehen soll.

Sie können onunload verwenden, um Dinge zu tun, bevor die Seite entladen wird, aber Sie können nicht von dort weiterleiten (Chrome 14+ blockiert Warnungen in onunload):

%Vor%

Oder mit jQuery:

%Vor%     
Jitendra Pancholi 20.02.2015, 11:00
quelle
1

Rufen Sie Ihre Funktion einfach innerhalb von window.onbeforeunload auf. Beachten Sie, dass einige Browser einschränken, was Sie hier tun können (zB: keine Weiterleitungen oder Warnungen). Siehe: Ссылка für weitere Informationen.

Ich habe auch den passenden Code für Leser hinzugefügt, die tun einen Bestätigungsdialog anzeigen möchten.

%Vor%

Klicken Sie einfach auf "Ausführen", um Folgendes zu testen: Ссылка

    
Moob 20.02.2015 11:27
quelle
0

Was du da machst, wird es definitiv nicht tun. Ein Vergleich von window.onbeforeunload mit true zu einem beliebigen Zeitpunkt macht keinen Sinn.

Was ist mit dem auskommentierten Code am Ende? Wenn überhaupt, müssen Sie onbeforeunload :

eine Funktion zuweisen %Vor%

Das obige scheint jedoch nur in IE zu funktionieren. Bitte lesen Sie den @ Bulk-Kommentar und @Brandon Ganos Antwort.

    
JLRishe 20.02.2015 10:55
quelle
0

Wenn Sie den Benutzer auffordern möchten, geben Sie eine Zeichenfolge mit der Nachricht zurück. Wenn Sie den Benutzer nicht auffordern möchten, geben Sie nichts zurück.

%Vor%

Oder:

%Vor%     
Brandon Gano 20.02.2015 10:55
quelle
0

Die Dokumentation hier ermutigt, das onbeforeunload -Ereignis anzuhören und / oder einen Ereignis-Listener im Fenster hinzuzufügen.

%Vor%

Sie können auch die Eigenschaften .onunload oder .onbeforeunload von window mit einer Funktion oder einer Funktionsreferenz füllen.

Obwohl das Verhalten nicht in allen Browsern standardisiert ist, kann die Funktion einen Wert zurückgeben, den der Browser anzeigt, wenn er bestätigt, dass er die Seite verlassen soll.

    
davejoem 14.05.2016 01:39
quelle
0

Bitte versuchen Sie es mit einem einfachen Code -

Jquery-Codebeispiel -

%Vor%

JavaScript-Code Beispiel -

%Vor%     
Heemanshu Bhalla 26.03.2017 16:00
quelle
0

Ich stelle diesen Code einfach und arbeite gut

%Vor%     
Gabriel Glauber 27.06.2017 18:42
quelle
-1

Dies ist ein Beispiel dafür, wie Sie mit der Navigation umgehen können. Beachten Sie, wie ein Div ein wenig vor der Navigation erscheint.

%Vor% %Vor%
    
VasaraBharat 20.02.2015 10:56
quelle

Tags und Links