charlesacg Postado Junho 1, 2009 Denunciar Share Postado Junho 1, 2009 Olá amigos, tudo bem?Estou precisando vazer uma validação quando o usuário fecha o browser.Pra isso tentei usar o onunload, porém, ele tambem é chamado quando ocorre um refresh.alguém saberia me dizer como faço pra desconsiderar o refresh?Ou então se há outra forma de realizar esse tipo de validação? (em alguns sites achei referência ao evento onclose, mas pelo que vi não funciona).Muito obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 invent Postado Junho 3, 2009 Denunciar Share Postado Junho 3, 2009 Vamos, lá já me deparei com um problema deste e busquei algumas coisas, porem no decorrer do projeto ví que não era mais nescessario e não desenvolvi uma solução.Mas vamos tentar resolver, posso te dar algumas idéais, porem não entendo muito de Javascript mas vamos tentar.A idéia, não está completaUma função onload executa a função se a pagina já estava aberta antes e assim agent consegue contar se é refresh ou não.bom para isso se cria um input hidden com valor nulo<script type="text/jacascript"> function verificaRefresh() { if( document.Fromulario.visitada.value == " " ) document.Fromulario.visitada.value = "1"; //foi aberta a primeira vez, e adiciona como visitada else //Pagina veio de um refresh } </script> no body <from id="Fomulario" name="Formulario"> <input type="hidden" id="visitado" mane="visitado" /> </form>OBS: Esse codigo não é meu, eu lembro dele de algum site porem não lembro o site.Cara no momento estou sem um pouco de tempo, irei pensar em outra solição.Assim vamos pensar amis, já sabemos como identificar se uma pagina veiod e um refresh ou de abriu agora. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 charlesacg Postado Junho 3, 2009 Autor Denunciar Share Postado Junho 3, 2009 Ola! Tambem encontrei esse codigo num dos sites que pesquisei...To tentando solucionar meu problema com algo parecido com isso.Parece que vai funcionar....Obrigado por ter respondido!!!Abraço,Charles. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 invent Postado Junho 3, 2009 Denunciar Share Postado Junho 3, 2009 (editado) Ola! Tambem encontrei esse codigo num dos sites que pesquisei...To tentando solucionar meu problema com algo parecido com isso.Parece que vai funcionar....Obrigado por ter respondido!!!Abraço,Charles.Cara pensei mais um pouco aqui e fiz uma gambiarra..........Bom é o seguinte, caso a pessoa vá com o mouse para fora da janela (para apertar o refresh) ele não executa o unloadCaso seja digitado F5 ou Ctrl + R ele tambem desabilita o unload.Caso contrario o unload é executadoSó que tem algumas falhas, caso a janela não esteja maximizada, dependendo do caminho do moude o botão [X] fechar não dispara o unloadou a pessoa consegue apertar o refresh se o mouse vier por cima.Outra coisa que acontece é que quando a janela é minimizada e depois maximizada e o mouse não passar por dentro da pagina ele habilita o unloas com o botão refreshmas vamos tentar melhorar.............mas é bem gambiarra<html><head><title>Testes</title><script language="JavaScript" type="text/javascript"><!--var ativa_unload = 1function MouseY(){ var Y = event.clientY; var X = event.clientX if(Y<=10 || X<=10) { desabilitaUnload(); } else abilitaUnload();}function VerificaRefresh(){ if(event.keyCode == 116 || (event.ctrlKey && event.keyCode == 82)) { desabilitaUnload(); }}function desabilitaUnload(){ ativa_unload = 0;}function abilitaUnload(){ ativa_unload = 1;}function Unload(){ if(ativa_unload==1) { window.alert("Unload OK"); }}//--></script></head><body onKeyDown="VerificaRefresh()" onMouseMove="MouseY()" onUnload="Unload()">Teste</body></html>Tá chegando pertoEDITADO:Pensando melhor!....ficou com MUITAS falhas...rsrsrs........vamu tantar a idéa anerios, mas tah dificil Editado Junho 4, 2009 por invent Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
charlesacg
Olá amigos, tudo bem?
Estou precisando vazer uma validação quando o usuário fecha o browser.
Pra isso tentei usar o onunload, porém, ele tambem é chamado quando ocorre um refresh.
alguém saberia me dizer como faço pra desconsiderar o refresh?
Ou então se há outra forma de realizar esse tipo de validação?
(em alguns sites achei referência ao evento onclose, mas pelo que vi não funciona).
Muito obrigado!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.