none
Detectar o fechamento do navegador RRS feed

  • Pergunta

  • Tenho um sistema onde faço o login herdando do membershipprovider e uso a página login e logout que o VS cria automático. 

    Quero detectar quando o usuário fecha o navegador e preciso fechar a session dele, sendo que no meu logout tenho

    Session.Abandon();
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Redirect("../Default.aspx");

    Coloquei um script no load da master page, esse script chama a página de logout, localmente ele demora demais e quando publiquei me loguei e depois fechei o browser, em seguida chamei a pagina novamente e já entrei logado, então não está funcionando.

    Como faço para encerrar a sessão quando o usuário fechar o navegador.


    Junior

    sexta-feira, 16 de outubro de 2015 17:18

Respostas

  • Bom dia Junior,

    O browser não mantém conexão com o servidor, por isso quando é fechado ele não dá nenhum "sinal" ao servidor.

    Para você conseguir isso, recomendo o uso de javascript:

    <script language="javascript" type="text/javascript">
    
    // <!CDATA[
    
     function window_onunload() {
      if (window.screenTop > 10000 && window.screenLeft > 10000)
      {
       window.open("logoff.aspx"); }
      }
    // ]]>
    
    </script>

    Quando o usuário fechar o browser, será aberto (windows.open) uma janela de logoff para avisar ao servidor que o browser foi fechado.

    No body da página para chamamos esta função, utilizamos o seguinte:

    <body onunload="return window_onunload()">

    Atenciosamente, Roberto Alves


    • Editado Roberto AB Filho segunda-feira, 19 de outubro de 2015 12:00
    • Marcado como Resposta Marcos SJ terça-feira, 20 de outubro de 2015 12:09
    segunda-feira, 19 de outubro de 2015 11:58