sábado, 1 de março de 2008

Detectar bloqueador de popup

Site que utilizam popup geralmente têm problemas com os bloqueadores de popup. Internet Banking e outros geralmente abrem uma janela para que o usuário possa continuar navegando no site e concluir o processo que havia iniciado.

Dessa forma se faz necessário detectar antecipadamente se o usuário possui ou não o bloqueador de popup ativado, com isso ele pode ser avisado, desativar o bloqueador e continuar navegando no site.

O script abaixo, em JavaScript, se propõe justamente a isso, detectar se o usuário possui ou não um bloqueador de popups ativado e avisá-lo da situação.

var tentativa = 1;
var aviso = 1;

function getBloqueador()
{
var janela = window.open("#","janelaBloq", "width=10, height=10, top=0, left=0, scrollbars=no, status=no, resizable=no, directories=no, location=no, menubar=no, titlebar=no, toolbar=no");
if (janela == null)
{
if (tentativa == 1)
{
alert("Bloqueador de popup ativado. Desabilite para continuar.");
tentativa++;
return false;
} else if ((tentativa > 1) && (tentativa <= 3))
{
alert("Tentativa " + tentativa + " de 3: O bloqueador ainda está ativado.");
tentativa++;
return false;
} else if (tentativa > 3)
{
if (aviso == 1)
{
if (confirm("O bloqueador de popups ainda está ativado, você pode ter dificuldades para acessar o site.\n\nDeseja continuar assim mesmo?"))
{
aviso = 0;
return true;
} else
{
aviso = 0;
return false;
}
}
}
} else
{
janela.close();
return true;
}
}
Este script tenta abrir uma janela popup, caso não consiga, inicia a sequência de avisos ao usuário. Caso consiga abrir a janela, nenhuma mensagem é exibida e o usuário segue a navegação normalmente.

Clique em links que abrem em uma janela não são considerados popup, ou seja, as janelas que abrem automaticamente são consideradas popup.

Este script pode ser usado no <body>, com o evento onLoad(), no evento onMouseOver() de algum elemento (um botão ou link, por exemplo).

2 comentários:

Luiz disse...

ooo valeu..

Estou fazendo uma integração com a Visa e eles necessitam que seja uma pop.. E não teve jeito..

Mas teu script me ajudou pacas..

( Teu amigo Anselmo te linkou ..)

valeu

Unknown disse...

Cara eu hospedo em sites gratuitos, e pop enche o saco, adorei esse codigo, muito foda, se vc quiser visitar entra no http://wordscript.orgfree.com.
ValeWWW