2016-05-05 2 views
1

J'ai besoin d'ajouter quelques codes avant de fermer l'onglet/les fenêtres du navigateur, ou de rafraîchir le navigateur. Par exemple, je dois envoyer des étudiants scores d'activité à la base de données et d'arrêter tous les compteurs en cours d'exécution en cas de besoin et montrer également une alerte aux étudiants de montrer les scores qu'ils got.i utilisés « beforeunload » mais il ne travaille pas pour moicomment exécuter certains codes avant de fermer l'onglet du navigateur/windows/refresh en utilisant 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 
    }) 
}) 

quelle est la façon de faire ces actions avant de fermer l'onglet du navigateur ou de recharger le navigateur? merci beaucoup

+0

Question similaire - 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 Alors, pensez-vous qu'il n'existe aucun moyen d'exécuter des codes avant de fermer le navigateur? – MojtabaSh

Répondre

1

Oui, vous pouvez. Essayez ceci: -

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

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

Je n'ai pas qu'il essaie dans tous les navigateurs Ou

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

Il devrait fonctionner aussi.

+0

Merci @ user2947, Il fonctionne dans Chrome et Internet Explorer, et aussi il fonctionne sur firefox lorsque la page/fenêtre de fermeture, mais il ne fonctionne pas sur Firefox quand la page rafraîchissante, y at-il anywhy faire cela? – MojtabaSh