Existe alguma maneira de remover alguns atributos da sessão quando um usuario fechar o browser no botão de fechar do mesmo?
Não posso colocar um botão fechar na tela, e o usuário só fecha essa tela pelo browser, mas preciso remover dados da sessão quando ele fechar para quando esse usuário voltar, começar o processo que ele estava fazendo novamente do zero.
Eu estou utilizando JSF (Myfaces,tomahawk).
Existe uma maneira em DHTML e Javascript para executar algo quando fecha o browser mas isso não é garantido. Procure por onUnload ou onBeforeUnload mas como já disse, não há garantia de executar.
Até!
eu ja fiz de duas maneiras e as duas ja postei aqui no guj.
1 - vc tem como capturar o click no X do browser, e com isso realizar a ação necessaria.
2 - defina um timeout bem baixo da aplicação e faça o browser ficar “pingando” o server em um intervalo pequeno de tempo.
assim quando o browser for fechado, não vai ser feito o “píng” e a sessao vai ser destruida.
[]'s
Não quero destruir a sessão. Na verdade o que precisaria era do escopo page no jsf, mas o mesmo não existe, então estoucom um big problema, porque tenho os dados que se coloco na sessão não tenho como limpar se o cara fechar a janela e voltar, para ele iniciar do zero e se coloco como request, cada nova chamada eu perco os valores.
cara, o que vc quer fazer nao da p/ fazer com session.
vc precisa fazer algo como o que eu falei, dae quando o cara fechar o browse vc armazena(bd/file) os valores que vc quer e quando o cara logar de novo vc busca esses valores e recomeça o processo.
vc pode usar a opção 2 que eu postei, coloca um listener na sessao e antes de destrulia vc armazena os valores.
[]´s
Não queria usar banco para isso.
Tenho que pensar em outra solução.