2016-05-05 3 views
1

Ich muss einige Codes hinzufügen, bevor Browser Tab/Fenster zu schließen, oder Browser aktualisieren. zum Beispiel muss ich Studenten Aktivitätswerte in die Datenbank senden und alle laufenden Timer zu stoppen, falls erforderlich und zeigen auch eine Benachrichtigung an die Schüler Noten zu zeigen, dass sie ‚beforeunload‘ verwendet got.i aber es für mich nicht funktionierenWie kann man einige Codes ausführen, bevor schließen Browser Tab/Windows/aktualisieren mit Jquery

$(window).bind('beforeunload', function(e){ 
    $.ajax({ 
     type:'POST', 
     url: 'increaseScore.php', 
     data: {personal_code: "414896521", lScore: 85}, 
     success: function(response) { 
      alert("you have " + response + "Scores, now"); // show scores alert 
     } 
    }).promise().done(function() { 
     clearInterval(); // clear all timers 
    }) 
}) 

Wie können Sie diese Aktionen ausführen, bevor Sie den Browser-Tab schließen oder den Browser neu laden? Vielen Dank

+0

Ähnliche Fragen - http://stackoverflow.com/questions/291553/is-there-a-way-in-javascript-to-detect-if-the-unload-event-is-caused-via-a- refre – user2947

+0

@ user2947 also, denkst du, es gibt keine Möglichkeit für Lauf-Codes vor dem Schließen des Browsers? – MojtabaSh

Antwort

1

Ja, Sie können. Versuchen Sie folgendes: -

window.addEventListener("beforeunload", function (e) { 
    var confirmationMessage = "\o/"; 

    (e || window.event).returnValue = confirmationMessage; //Gecko + IE 
    return confirmationMessage;       //Webkit, Safari, Chrome 
}); 

ich nicht habe versucht, es in allen Browsern Oder

window.onbeforeunload = function() { 
    return "Do you really want to close?"; 
}; 

Es sollte auch funktionieren.

+0

Danke @ user2947, Es funktioniert in Chrome und Internet Explorer, und es funktioniert auch auf Firefox, wenn die Seite/Fenster schließen, aber es funktioniert nicht auf Firefox, wenn die Seite aktualisieren, gibt es anywhy das zu tun? – MojtabaSh

Verwandte Themen