Marcella Spirulit@
eu consegui “capturar” o evento de fechar o navegador pelo X da seguinte maneira:
na tag <body> eu coloquei assim:
<BODY onUnload="windowOnUnLoad(window);">
e no método windowOnUnload eu escrevi o seguinte:
function windowOnUnLoad(window) {
try{
if (window.screenTop > 9999){
window.open('EndSession.do','','width=1,height=1,scrollbars=0,status=0,toolbar=0,resizable=0,fullscreen=0');
return 1;
}
return 0;
} catch (e){}
}
Não conheço esse atributo screenTop, mas ele só passou nesse if ao fechar a janela… nas outras vezes que o evento unload do body é disparado (navegar de uma pagina para outra) ele não passa no if…
mas isso só funcionou no internet explorer. no firefox nao funcionou…
no meu caso, o que eu fiz foi chamar uma action em uma janela pequena (por isso os atributos width=1 e height=1) ao fechar o iexplore.
e daí depois de executar essa action… eu dou um forward para uma página q executa um session.invalidate(); e um window.close();
e… voltando ao meu problema… ele mantém essa sessão
e eu quero q ele finalize ela =]