Ir para conteúdo

POWERED BY:

Arquivado

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

weslley clyton

[Resolvido] Confirmar fechamento do browser

Recommended Posts

Olá, boa tarde a todos, estou em uma procura insana ja faz 3 dias, quase sem comer e beber asdqhuasuh.

Seguinte preciso de uma função que quando o usuário clicar para fechar a página o sistema emita um confirm.

 

Até ai beleza, facim né?

Pois é, ai vem a parte fodastica! Eu só preciso dessa confirmação quando clicar no x, quando o usuario clicar em algum link ou submeter algum formulario

a função não deve emitir o confirm.

 

Eu ja pesquisei horas e horas, em sites em portugues e em ingles, o mais proximo que cheguei foi com esse script:

 

var inFormOrLink;
$('a').live('click', function() { inFormOrLink = 's'; });
$('form').bind('submit', function() { inFormOrLink = 's'; });

$(window).bind("beforeunload", function() { 
  	return inFormOrLink || confirm("Do you really want to close?"); 
})

 

ele atribui true a variavel inFormOrLink quando o usuario clica em links ou submte formularios, e false quando ele usa o botão fechar ou atualizar.

Dai vcs me perguntam, pq você não faz um if para controlar isso ae?

Eu pergunto a vcs, ja tentei fazer esse if de diverssas maneis, mais essa porr@ não funciona =).

 

Achei um outro script em um site em inglês que promete realizar tudo isso que eu to pedindo:

 

       
function fnConfirmClose()
{
  if(window.event.clientX < 0 || window.event.clientY < 0){
     return "Do you want to close browser?";
  }else{
     return;
 }
}
window.onbeforeunload = fnConfirmClose;

 

 

 

mais nao retornou nenhum resultado. Alguem aceita o desafio? Até.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e qual o problema do script com a variavel inFormOrLink ?

 

não funcionou ? pq?

apareceu algum erro no console ?

 

 

 

 

Removi a palavra "Desafio" do título, pois segundo as regras do fórum, você só pode fazer um Desafio, se souber resolve-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tranquilo kra, pra falar a verdade, nao li as regras do forum, desculpe!

 

Então, ele funciona da seguinte maneira, quando eu clico em algum link da pagina ou submeto um formulario ele continua dando o alert, mas ele mostra que a variavel recebeu o true, e quando fecho no x ele da o alert e mostra que a variavel recebeu o false. copia e cola ai pra você ver =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

não testei, mas você já tentou assim:

 

if( inFormOrLink!='s' )
         return confirm("Do you really want to close?");

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que eu testei aqui, aparentemente funcionou.

 

não mostrou o alert qndo cliquei no link, mas fechando o browser, ou mudando a url na mão, mostrou a mensagem.

 

 

 

tipo.. não quis denegrir a sua competência, é q todos os dias aparecem diversos membros, com os mais variados niveis de conhecimento.. não tenho como adivinhar o seu :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente? isso deve ser bruxaria!! pqp, kra fiz 200 milhoes de testes, fiz esse if duzentas vezes. Mais pois é, funcionou!

To me sentindo um babaca. Isso ensina que devemos prestar mais atenção a uma resposta antes de achá-la ridícula.

Mais obrigado, até.

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.