Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gmps

[Resolvido] onbeforeunload + form submit

Recommended Posts

galera eu tenho o seguinte:

 

tenho uma tela inicial onde a pessoa vai clicar em um botao/link e vai abrir uma nova janela com o window.open, segue:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
 </HEAD>
 <BODY>
  <a href="#" onclick="window.open('Noname1.html', 'teste', 100, 100);">a</a>
 </BODY>
</HTML>

ai no Noname1.html eu tenho o seguinte: tenho um botão dentro de um form onde a pessoa tem que clicar para fechar a sessão, caso a pessoa clique no X da janela, a sessão dela vai ficar aberta.

 

O que eu queria fazer é: quando a pessoa clicar no X, tentar executar o form.

 

O exemplo abaixo funciona, por incrível que pareça, somente no IE

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>  
<script language="javascript" type="text/javascript">
//window.onunload = Sair;
window.onbeforeunload = ConfirmExit;
function ConfirmExit()
{

sleep(4000);
	document.getElementById("form").submit();
sleep(4000);
}


function sleep(milliseconds) {
  var start = new Date().getTime();
  for (var i = 0; i < 1e7; i++) {
    if ((new Date().getTime() - start) > milliseconds){
      break;
    }
  }
}
</script>
 </HEAD>

 <BODY>
  
<form name="form" id="form" action="http://www.google.com.br" method="post" target="_blank">
<input type="submit" name="bla" value="bla" onclick="Sair();">
</form>

 </BODY>
</HTML>

e só funciona com esse sleep, caso contrário não funciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvi com jquery

 

window.onbeforeunload = ConfirmExit;

function ConfirmExit()
{
	$.post("escreve.php", { logout_id: $session_id } );
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.