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.
Fonte: https://www.codigofonte.net
Leave a Reply