$ (finestra) .unload non sta sparando

Voglio eseguire un metodo di azione quando l’utente sta abbandonando una determinata pagina usando jQuery.

La pagina ha il seguente codice:

 $(window).unload(function () { alert("Handler for .unload() was called."); });  

Quando esco dalla pagina non vedo mai l’avviso previsto.

In realtà alcuni browser come Google Chrome potrebbero bloccarsi se si tenta di alert in una finestra di unload . Come utente mi piace questa funzionalità. Avvisare ogni volta che provi ad allontanarti da una pagina fa schifo:

inserisci la descrizione dell'immagine qui

Sostituisci l’avviso con un console.log o qualcos’altro meno invadente per l’utente e l’evento sarà felicemente chiamato.

Potresti anche voler controllare l’evento onbeforeunload .

jquery .on (‘scarica’, ..); non era affidabile per me. ho passato a utilizzare prima di caricare. assicurati di non restituire nulla, altrimenti l’utente otterrà un “sei sicuro di lasciare la pagina” -popup.

  

come disse bhelm prima di caricare anche per me.
return false su questo evento invocherà il browser predefinito

sei sicuro di voler lasciare questa pagina?

 $(window).on('beforeunload', function () { return false; }); 
 window.onbeforeunload=navigationError; var dont_confirm_leave = 0; var leave_message = 'You sure you want to leave?'; function navigationError(e) { if(dont_confirm_leave!==1) { if(!e) e = window.event; //e.cancelBubble is supported by IE - this will kill the bubbling process. e.cancelBubble = true; e.returnValue = leave_message; //e.stopPropagation works in Firefox. if (e.stopPropagation) { e.stopPropagation(); e.preventDefault(); } //return works for Chrome and Safari return leave_message; } } 

se vuoi avvisare l’utente che lasci questa pagina, se questo

 /* $(window).unload(function() { //alert("you leaving this page"); console.log("you leaving this page"); }); */