De mon point de vue, la publicité est un véritable fléau contre lequel il faut lutter, surtout sur internet. Je vous laisse à la lecture de l’excellent billet de Ploum qui traite ce sujet mieux que moi. Je suis prêt à soutenir les sites que j’apprécie, mais il est hors de question de céder ne serait-ce qu’un demi neurone m’appartenant et le moindre kilo-octet de ma bande passante à cette industrie du mensonge.

Bref, aujourd’hui je me connecte sur mon forum préféré et voici que je tombe sur cette horreur :

Alerte anti-adblock

On cherche alors dans le code source de la page le message qu’on peut lire à l’écran. On trouve rapidement :

<!-- anti adblock popup. -->
        
<div class="afs_ads">&nbsp;</div>
<script>
(function() {
    var message = "******* vit grâce à la publicité, merci de désactiver votre bloqueur de publicités";

        // Define a function for showing the message.
        // Set a timeout of 2 seconds to give adblocker
        // a chance to do its thing
        var tryMessage = function() {
            setTimeout(function() {
                if(!document.getElementsByClassName) return;
                var ads = document.getElementsByClassName('afs_ads'),
                    ad  = ads[ads.length - 1];

                if(!ad
                    || ad.innerHTML.length == 0
                    || ad.clientHeight === 0) {
                    alert(message);
                    //window.location.href = '[URL of the donate page. Remove the two slashes at the start of thsi line to enable.]';
                } else {
                    ad.style.display = 'none';
                }

            }, 2000);
        }

        /* Attach a listener for page load ... then show the message */
        if(window.addEventListener) {
            window.addEventListener('load', tryMessage, false);
        } else {
            window.attachEvent('onload', tryMessage); //IE
        }
})();
</script>

Le script est très simple : deux secondes après le chargement de la page, il vérifie si le div « afs_ad » est visible. S’il ne l’est pas, cela signifie que l’on utilise un bloqueur de publicité tel que AdBlock et on affiche le message « ******* vit grâce à la publicité, merci de désactiver votre bloqueur de publicités ».

Comment régler ce problème ?

Globalement il y a 3 méthodes :

  1. On fait avec, mais il faut être un peu masochiste ;
  2. On désactive notre bloqueur de publicité pour ce site uniquement, mais c’est capituler ;
  3. On joue avec les exceptions d’AdBlock pour feinter le système.

J’ai retenu la troisième solution 😀

On se rend sur la documentation officielle d’AdBlock pour comprendre la syntaxe des filtres. On comprend alors qu’il faudra utiliser un filtre du type monsitepréféré.fr#@#.afs_ads. On se rend dans Adblock > Préférences de filtres > Filtres personnalisés > Règles d’exception pour l’ajouter. On recharge la page et miracle, ça marche !

Mes exceptions AdBlock Plus

 Voilà, il ne vous reste plus qu’à trouver un autre moyen de soutenir votre site préféré, et idéalement de lui faire comprendre pourquoi un anti-adblock n’est pas la meilleure idée 🙂