Olá! Sexta Feira, 10 de Fevereiro de 2012.



Dicas CódigoFonte.net
Quarta Feira, 27 de Fevereiro de 2008

Testando se uma janela foi aberta e se foi fechada

Salve, salve comunidade!

Acompanhe comigo a seguinte situação: Você está desenvolvendo um sistema web que abre uma janela em algum momento e não deseja que o usuário, ao clicar novamente no botão, recarregue aquela janela aberta.

Então, com o seguinte código podemos criar esta situação onde caso usuário clique novamente no link que abre a janela, o sistema não irá permitir que ela seja re-aberta. Evitando assim consumo excessivo de tráfego.

Tomei a liberdade de comentar os pontos principais do código, espero que entendam:

<script language="javascript" type="text/javascript">

var janela = null;

function AbreJanela()
{
// verifica se a janela está aberta
if(janela != null && !janela.closed)
{
// caso esteja aberta, mostra um aviso
alert('A janela já está aberta');
}
else if(janela != null && janela.closed)
{
// se a janela foi fechada, limpo a variavel janela para permitir que ela seja re-aberta
alert('A janela foi fechada e agora poderá ser aberta');
janela = null;
}

// só abre a janela se a variavel 'janela' é nula
if(janela == null)
{
janela = window.open("http://www.codigofonte.net", "janela", "top=10, left=10");
}
}

</script>


Veja que neste código há uma outra condição if(janela != null && janela.closed) que faz um teste e verifica se a janela foi aberta mas o usuário a fechou. Se não colocarmos este trecho de código, o sistema nunca mais (até que a página seja recarregada) irá permitir que a janela seja aberta e este não é o nosso caso, não é?

Pronto. Agora você poderão fazer testes quando utiliza popups em seu site.

Até a próxima.

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:






CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com