2009-11-29 3 views
3

J'ai trouvé que, les navigateurs ne bloquent pas toutes les fenêtres pop-up JavaScript.vs fenêtre pop-up non bloqué

Comment écrire des fenêtres pop-up en JavaScript qui ne seront pas bloqués par les navigateurs?

Je veux dire quel est le principal facteur qui fait la différence?

+0

Quelqu'un, s'il vous plaît renomme cette question pour plus de lisibilité et de compréhension. –

Répondre

4

Le principal facteur pour décider quelle fenêtre pop-up sera bloquée est la bonne fenêtre pop-up doit être show après que l'utilisateur effectue des actions comme clic ou faire un autre événement comme appuyez sur Entrée. Cependant, vous pouvez utiliser une fenêtre contextuelle intégrée comme JQuery UI Dialog que tout bloqueur de fenêtres publicitaires ne peut pas bloquer car il s'agit simplement d'une balise html comme span ou div. Par conséquent, il n'est pas assez intelligent pour comprendre le contenu à l'intérieur de la balise pop-up. Ce devrait être le meilleur moyen d'éviter tous les bloqueurs de fenêtres pop-up.

7

Dans Firefox (et la plupart des autres navigateurs web modernes avec des bloqueurs de pop-up) fenêtres Javascript sont généralement autorisées que si elles sont le résultat d'un clic de l'utilisateur, mais arrêté si elles tentent d'ouvrir en arrière-plan.

Comparer la méthode utilisée dans ces bad popups avec ces good popups. Le code source est disponible sur le site. Voici le code source pour les popups « bons »:

<a href="javascript:winopen('http://www.popuptest.com/popup3.html','blank','width=450,height=235,status=yes')">Good PopUp #1</a> 
<br><br> 
<A class=blu HREF="http://www.popuptest.com/popup2.html" target="_BLANK">Good PopUp #2</A> 
<br><br> 
<A class=black HREF="http://www.popuptest.com/popup3.html" onclick="NewWindow(this.href,'rank','450','450','yes','center');return false" onfocus="this.blur()">Good PopUp #3</A> 
<br><br> 
<a href="javascript:PopWindow('http://www.popuptest.com/popup4.html', 450, 320)">Good PopUp #4</A> 
+0

Seulement deux de ces liens contextuels semblent à distance, le reste est inaccessible. –

Questions connexes