Ecco un semplice esempio di lavoro. Qualunque sia la vostra return
dal callback unload
verrà visualizzato in una conferma popup del browser.
esempio di lavoro di inviare richiesta Ajax prima di scaricare http://jsfiddle.net/alexflav23/hujQs/7/
Il modo più semplice per farlo:
window.onbeforeunload = function(event) {
// do stuff here
return "you have unsaved changes. Are you sure you want to navigate away?";
};
in jQuery:
$(window).on("beforeunload", function() {
$.ajax("someURL", {
async: false,
data: "test",
success: function(event) {
console.log("Ajax request executed");
}
});
return "This is a jQuery version";
});
Guardate nella scheda di rete del browser. Vedrai come viene inviata la richiesta come volevi fare. Basta inviare i dati appropriati.
Tenere presente che tutte le operazioni attivate devono essere sincrone, pertanto è possibile effettuare solo richieste sincrone ajax, ad esempio. Tuttavia, quanto sopra non è completamente affidabile per qualsiasi scopo.
Optare per il backup periodico dei dati utente su localStorage
e sincronizzarsi automaticamente con il server. Mantieni il window.onbeforeunload
solo come precauzione aggiuntiva, ma non come meccanismo principale. È ben noto causare problemi.
Che cosa vuoi fare per scaricare? – writeToBhuwan
Ho bisogno di fare una chiamata Ajax a PHP per disinserire una variabile di sessione. –
'navighi via facendo clic su un collegamento' questo mostra che devi eseguire il bind di scarico sul tuo documento – muneebShabbir