picture picture
février 14, 2006 JavaScript 0 Commentaire

Le navigateur de votre client n’a-t-il pas de bloqueur de pop-up ?

Comment le tester, parceque tous les pop-ups ne sont pas illégitimes…

Dans certains cas les pop-ups sont ergonomiques, voire quasi-indispensables.
Un exemple?

  • l’ouverture de photos agrandies est nettement plus agréable a côté d’une vignette que dans une nouvelle page…
  • ou encore : une aide en ligne permettant de comprendre un mode d’emploi sans perdre la page principale de vue…

Il est donc interessant de prévenir un visiteur que son bloqueur de pop-up va le faire passer à côté de fonctionalités interessantes sur ce site.

La solution : ouvrir un pop-up « fictif » en dehors de la zone de l’écran, et tester s’il déclanche un message d’erreur avec l’évènement onError.
Evidemment si les JavaScripts sont totalement désactivés… :[ … mais c’est rare. Ce qui est plus fréquent, ce sont les barres anti pop-up ou autre « pop-up Killer » qui fleurissent gratuitement sur le net.

Le code est à mettre dans un fichier inclus, par exemple « test_popup.block.js »
var resultatTest = false;
var resultatProbleme = false;
function probleme() {
resultatProbleme = true;
}
window.onerror = probleme;
var monPopup = window.open("", "test", "width=1, height=1, left=9000, top=9000", true);
monPopup.blur();
monPopup.close();
resultatTest = (resultatProbleme == false ? true : false);
window.onerror = null;

Ce script est appelé dans le HEAD de la page HTML :

<script src="test_popup.block.js"></script>

Il ne reste plus qu’à afficher un message d’erreur dans le BODY si le résultat du test a détécté une erreur :
<script>
if (resultatTest)
document.write("Merci de lire les informations affichées dans la fenetre qui s'est ouverte.");
else
document.write("Il semble que vous disposiez d'un bloqueur de pop-ups. Ceci risque de vous empêcher de lire certaines informations importantes. Veuillez autoriser les fenetres intrusives pour ce site et recharger la page (Nous ne vendons pas de viagra, n'ayez pas peur...)");
</script>

8)

No Responses to “Le navigateur de votre client n’a-t-il pas de bloqueur de pop-up ?”

Commentaire

Name

Mail (ne sera pas publié)

Website

Laisser ces deux champs tels quels :
:D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: