come rilevare l’evento di chiusura della pagina con ASP.NET

Ho un’app Web ASP.NET con una pagina MasterPage e contenuti, da MasterPage quando faccio clic su MenuItem per aprire una nuova pagina aspx. se voglio chiudere la scheda del browser della nuova pagina, voglio mostrare un popup o una finestra di dialogo che avvisa l’utente che sta chiudendo la scheda del browser. Non so come rilevare il pulsante close browserTab. Ho usato il seguente codice nella nuova pagina di aspx:

  function CloseWindow() { alert('closing'); window.close(); }  

nuovo codice di pagina dietro:

 protected void Page_Load(object sender, EventArgs e) { Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "closePage", "window.onunload = CloseWindow();"); } 

Grazie in vantaggio.

Questo funziona perfettamente.

javascript rileva browser chiudi scheda / chiudi browser

  var myclose = false; function ConfirmClose() { if (event.clientY < 0) { event.returnValue = 'You have closed the browser. Do you want to logout from your application?'; setTimeout('myclose=false',10); myclose=true; } } function HandleOnClose() { if (myclose==true) { //the url of your logout page which invalidate session on logout location.replace('/contextpath/j_spring_security_logout') ; } } 

Ho avuto un sacco di problemi con questo io e l’unica cosa che funziona è: “window.onbeforeunload” evento da javascript ma il problema è che questo viene eseguito molto più di quanto ci si aspetterebbe. Quindi, in sostanza, se lavori con una pagina principale, ecc., Non penso che possa essere fatto.

Penso che sia meglio provare ad avvicinarti in modo diverso perché altrimenti il ​​tuo messaggio di chiusura verrà visualizzato spesso.

Puoi gestirlo con javascript nella tua pagina.
Per prima cosa crea una funzione:

 function closeMessage() { return "Are you sure you want to leave this page"; } 

Successivamente, assegna questo metodo:

 window.onbeforeunload = closeMessage; 

Per favore fatemi sapere se è stato utile

Devi prendere l’evento per chiudere il browser e usarlo per fare tutto ciò che vuoi fare. Ecco il codice che ha funzionato per me.

   

Spero che questo ti aiuti..

Se ti capisco correttamente, vuoi sapere quando una tab / finestra viene effettivamente chiusa. Bene, a parte il tuo unico modo in Javascript per rilevare che quel tipo di cose sono onunload e onbeforeunload di eventi. Questi eventi vengono triggersti ​​anche quando si esce da un sito tramite un collegamento o il pulsante Indietro del browser. Quindi questa è la migliore risposta che posso dare, non penso che si possa rilevare in modo nativo una pura chiusura in Javascript. Correggimi se sbaglio qui. Puoi passare attraverso browser-tab-close-detection-using-javascript-or-any-other-language