
Comme vous le savez très probablement, il existe plusieurs modules / plugin disponibles sur des navigateurs comme Firefox qui permettent de bloquer la publicité sur internet.
L'idée est louable, car certaines publicités sont pour le moins envahissante.
Néanmoins, il convient de garder à l'esprit que sans publicité, internet ne serait pas ce qu'il est aujourd'hui, la quasi totalité des sites fonctionnant grandement sur ce principe de rémunération par la pub ( bande passante, hébergement du site, travail en lui même.. ).
Voici donc un script qui se veut "anti adblock" fonctionnant parfaitement avec Firefox 2 / 3, Maxthon ou autre navigateur.
L'idée n'est de pas brusquer votre visiteur. S'il ne veut pas désactiver adblock pour votre site, c'est son droit le plus intime.
Je tiens à préciser que le script initial n'est pas de moi, même si je l'ai modifié.
Placez ce code javascript dans votre page web, juste en dessous de la balise <head>. Vous pouvez également l'inclure dans un fichier .js externe...
<script type="text/javascript"> function adblockblock() { alert('Vous utilisez adblock') ; } } function adblocktest(testnumber) { abbitem=document.getElementById('adblocktest'); if(!abbitem){ adblockblock(); } else if (abbitem.style.display == 'none' | abbitem.style.visibility == 'hidden'){ adblockblock(); } else if (testnumber!=1){ setTimeout(function(){adblocktest(1);},4000); } } function doadblocktest(){ if(adblocktest_orig_onload){adblocktest_orig_onload();} setTimeout(adblocktest,1000); } adblocktest_orig_onload=window.onload?window.onload:false; function EcrireCookie(nom, valeur) { var argv=EcrireCookie.arguments; var argc=EcrireCookie.arguments.length; var expires=(argc > 2) ? argv[2] : null; var path=(argc > 3) ? argv[3] : null; var domain=(argc > 4) ? argv[4] : null; var secure=(argc > 5) ? argv[5] : false; document.cookie=nom+"="+escape(valeur)+ ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+ ((path==null) ? "" : ("; path="+path))+ ((domain==null) ? "" : ("; domain="+domain))+ ((secure==true) ? "; secure" : "");</div> } function getCookieVal(offset) { var endstr=document.cookie.indexOf (";", offset); if (endstr==-1) endstr=document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function LireCookie(nom) { var arg=nom+"="; var alen=arg.length; var clen=document.cookie.length; var i=0; while (i<clen) { var j=i+alen; if (document.cookie.substring(i, j)==arg) return getCookieVal(j); i=document.cookie.indexOf(" ",i)+1; if (i==0) break; } return null; }
Entrez maintenant ce code html dans votre page web. Il s'agit de l'image "test". Cette image ne sera pas visible, mais servira d'élément témoin, de part la source de son image ( régie google adsense ).
<img src="http://pagead2.googlesyndication.com/pagead/" width="0" height="0" border="0" alt="" id="adblocktest" />Maintenant, modifiez la balise <body> par <body onload="doadblocktest()">
Ceci initialise le script.
Vous l'aurez compris, si l'internaute a adblock activé, la fonction adblockblock se déclenche. Il va falloir modifier le alert('Vous utilisez adblock') ;
Celui-ci s'éxecute à chaque fois... pour le moment.
Remplacez :
Comment faire ?
Très simplement, grâce à nos amis les cookies.
Nous pouvons aussi penser à d'autres méthodes, comme un enregistrement de l'ip dans le serveur ( via une utilisation de l'ajax par exemple )
Pour ma part, sur Tayo.fr, j'utilise plutôt l'ajax ( donc mélange javascript + php ) afin de profiter de quelques stats... Nous allons faire ici au plus simple, déposer un cookie avec javascript. Remplacez donc la ligne surlignée en jaune, par celles-ci :
Par :
function adblockblock() { if (lirecookie('adblock')) { return false ; } else { EcrireCookie("adblock", "oui"); alert("Vous utilisez adblock pour bloquer les publicités. Sachez que nous respectons ce choix, néanmoins, pourriez-vous le désactiver pour ce site web ? n Aucune publicté gênante... blablablabla texte ici salut, ça fart ?"); }
Finalement :
Libre à vous de modifier ce code bien entendu, si la fenêtre alert vous semble quelque peu indélicate ( et super moche ) utilisez une fonction de type
document.getElementById( "id du div " ).innerHTML = "Votre message <br/>" ;
Si vous comprenez l'utilisation du javascript, vous vous doutez que ce n'est pas "optimisé". Il serait préférable de lire le cookie une première fois avant de réaliser le test. Néanmoins, ce bout de code est très léger.
En outre, si l'internaute bloque complètement l'enregistrement des cookies, il se tappera le message à chaque page. Néanmoins, s'il se fait chier à bloquer les publicités et les cookies... ce n'est qu'un aurevoir.
| Options | Dans la même catégorie |
| Lire cet article en plein écran | Définition AJAXx |
Note des lecteurs :
![]() |
Modifier texte FCKeditor Ajaxx |
| Donnez votre note sur 10 : | Fckeditor ajax récupérer textex |
| Gagnez de l'argent en écrivant votre Tips / Tutoriel | Savoir si une image est chargée javascriptx |
| Copier cet article pour votre site web. | |
Sashi85.140.**![]() Utilisateur non enregistré | Samedi 23 Août 2008 à 04:03:47 mci je vais tester ca |
Hibou5786.75..**![]() Utilisateur non enregistré | Dimanche 31 Août 2008 à 08:46:14 Merci pour ce script, je l'ai fait connaître sur MoteurProg.com à l'instant (un site de développement logiciel que je vous recommande chaudement), accompagné de quelques suggestions.Bonne Continuation |
Onblog82.249.**![]() Utilisateur non enregistré | Lundi 01 Septembre 2008 à 19:41:23 merci pour le script, je l'ais mis en avant sur http://onblog.fr/bloquer-adblock/franchement trés sympa |