Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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é.
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 =)
não testei, mas você já tentou assim:
if( inFormOrLink!='s' )
return confirm("Do you really want to close?");
?pow, claroq ue ja tentei né kra, nao seria tããão isiota a esse ponto ahusasdqhusa
mais vlw a dica =)
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:
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é.
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.