2012-10-19 16 views
6

il mio requisito è un po 'complicato. un utente accede al database utilizzando il browser Web, mentre accede al database se l'utente chiude la pagina attiva invece di disconnettersi dalla sessione: quella sessione deve essere disconnessa automaticamente. qualcuno può guidarmi come farlo? sono jquery usato - nella pagina principale.disconnettersi dal browser se il browser si chiude in asp .net?

onbeforeunload - sto ricevendo il messaggio lasciare la pagina o rimanere con questa pagina. anche io sto ricevendo questi messaggi durante l'accesso e vista anche la home page.

+0

stai usando il provider di appartenenza a asp.net? – th1rdey3

+0

è necessario interrompere il tempo di sessione e verificare se l'utente è attivo in quella finestra. ad esempio per questo è ciò che hanno fatto in gmail (gtalk), andrà automaticamente inattivo se il browser è inattivo per un lungo periodo di tempo. Nel tuo caso devi cancellare la sessione, quali siti di internet banking fanno – kbvishnu

+0

@prabhakaran, hai trovato una soluzione. ? – kbvishnu

risposta

0

L'uomo chiude il browser o naviga verso una pagina diversa all'interno del sito web? Se chiude il browser, la sessione muore automaticamente.

Guardare anche all'evento sesson_onEnd di global.asax.

+0

nessuna chiusura del browser non termina la sessione – kbvishnu

+0

Http è senza stato, quindi non è possibile stabilire se una finestra o una finestra del browser è chiusa. È possibile ridurre il timeout della sessione o utilizzare il polling Ajax (soluzione non semplice), con lo script ajax continua a controllare se la pagina è attiva o meno. – highwingers

3

Questo è il codice di esempio

window.onbeforeunload = function() { 
    return 'You want to leave?'; 
};​​ 

vedere demo here

penso che la sua possibile inviare una richiesta Ajax e si può visto il tuo server che l'utente ha chiuso la scheda del browser.

Anche questo un plugin jQuery chiamato jquery.idle, che viene utilizzato per identificare se l'utente è attivo.

Riferisci questo Detecting idle time in JavaScript elegantly ti darà più idea.

Problemi correlati