Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Détecter adblock: le script anti-adblock (nouvelle version)

Aller à la page 1, 2, 3, 4, 5, 6, 7  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> AdSense   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
adblock
Nouveau WRInaute

Inscrit le: 16 Nov 2005
Messages: 13

URL permanente de ce messagePosté le : Mer Nov 16, 2005 15:59    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Edit 02/07/07: Nouvelle version du script, plus rapide, et compatible avec les dernières versions des différents bloqueurs de pub.
Edit 05/07/07: Le script semble devenir populaire, quelques listes de bloquage d’adblock ont dû white lister les images dont l’adresse contient googlesyndication. J'ai donc modifier l'adresse de l'image témoin: Mettez /ads/ comme adresse.

Script de détection de bloqueurs de publicités.

Comment ça marche ?

On place une image témoin dans la page dont l'URL est susceptible de se faire bloquer. Ensuite on utilise un script pour effectuer divers tests sur l'image. On test si elle a été supprimée de la page, ou caché, ou non chargée, remplacée, etc...

Si le script détecte qu'un bloqueur de publicité est activé, il appel la méthode adblockblock.block(). Par défaut cette méthode fait un alert('Adblock activé'); , mais vous pouvez biensûr modifier son comportement.

À quoi sa sert ?

Vous pouvez l'utiliser pour:

  • Éduquer vos visiteurs: Expliquez leurs que votre site ne serait pas là où il en est sans la publicité, peut être même qu'il n'existerait pas.
  • Afficher une autre publicité non bloquée, faire de l'auto promotion, etc...
  • Bloquer les leechers. Après tout, les utilisateurs qui n'affichent pas la publicité sont des leechers, vous payez l'hébergement de votre site pour eux, vous passez du temps sur votre site et eux ils prennent sans donner. Vous pouvez aussi mettre toutes vos images, css et js dans un répertoire /ads/, les leechers ne les téléchargeront pas et vous économiserez de la bande passante.


Compatibilité:

Ce script fonctionne avec les techniques de bloquage suivantes:

  • Adblock de Firefox
  • Le tueur de pub de Maxthon
  • Adblock de Konqueror
  • Les styles CSS personnels
  • Les serveurs DNS ou fichiers hosts qui truquent la résolution des noms
  • Les proxies qui renvoient un autre fichier à la place des pubs


Le code à copier quelque part dans vos pages:

N'oubliez pas de mettre à jour le code de l'image témoin si vous aviez installé l'ancienne version du script, les arguments onload et onerror sont importants.

Code:

<img src="/ads/" width="0" height="0" border="0" alt="adblocktest" id="adblocktest" onload="this.imgloaded=true;" onerror="this.imgloaded=true;" />

<script type="text/javascript">

   adblockblock = function() {
      if (window.addEventListener) {
         window.addEventListener('load', this.bind(this.initialize), false);
      } else if (window.attachEvent) {
         window.attachEvent('onload', this.bind(this.initialize));
      }
   };
   
   adblockblock.prototype = {
   
      initialize: function() {
         this.interval = setInterval(this.bind(this.test), 1000);
         this.test();
      },
   
      test: function() {
   
         var element=document.getElementById('adblocktest');
      
         /* On test si l'element a été supprimé par le bloqueur
         * Maxthon?, Konqueror
         */
         if(!element)
         {
            this.logger('Element image non trouvé');
            return this.block();
         }
   
         /* On test si l'image n'a tout pas été chargée dutout
         * Adblock, /etc/hosts, proxies, etc
         * Gecko: element.complete==true, même si image non trouvée / mauvaise image et onerror||onload appellée
         * IE: element.complete==false quand image non trouvée.
         */
         if (element.complete && !element.imgloaded)
         {
            this.logger('Image non chargée');
            return this.block();
         }
      
         /* On test si l'element a été caché par le bloqueur
         * (display:none, ou visibility:hidden, ou position:absolute et top/left hors de la page)
         * Old adblock
         */
         var display = this.getStyle(element, 'display');
         var visibility = this.getStyle(element, 'visibility');
         var position = this.getStyle(element, 'position');
         if (display != 'inline' || (visibility != 'visible' && visibility != 'inherit') || position != 'static')
         {
            this.logger('Image cachée: display='+display+' visibility='+visibility+' position='+position);
            return this.block();
         }
   
         /* On test si l'image a été remplacée
         * Pour une image non chargée, naturalWidth/Height doit être indéfini ou 0
         */
         if ((element.naturalWidth && element.naturalWidth > 0) || (element.naturalHeight && element.naturalHeight > 0)) {
            this.logger('Image remplacée');
            return this.block();
         }
         /* Pour Konqueror
         */
         if (element.width && element.width == 64) {
            this.logger('Image remplacée (Konqueror)');
            return this.block();
         }
      },
   
      getStyle: function(element, key) {
         if (document.defaultView && document.defaultView.getComputedStyle) {
            return document.defaultView.getComputedStyle(element, '').getPropertyValue(key);
         } else {
            return element.currentStyle[key];
         }
      },
   
      block: function(blockMethod) {
         // Ne pas supprimer cette ligne
         if (this.interval) clearInterval(this.interval);
   
         // Mettez ce que vous voulez ici
         alert('Adblock activé ! ');
      },
   
      bind: function(func) {
         var obj = this;
         return function() {
            return func.apply(obj, []);
         };
      },
   
      logger: function(str) {
         if (typeof console == 'undefined') return;
         if (typeof console.log == 'undefined') return;
         console.log(str);
      }
   };
   
   /*Décommenter pour débugger (ou utiliser firebug)
   if (typeof console == 'undefined') {
      console={};
      console.log = function(str) {
         var el = document.createElement('div');
         el.appendChild(document.createTextNode(str));
         document.body.appendChild(el);
      };
   }
   */
   
   new adblockblock();
</script>


Dernière édition par adblock le Jeu Juil 05, 2007 16:36; édité 10 fois
 
adblock
lothar
WRInaute accro
WRInaute accro

Inscrit le: 12 Juil 2003
Messages: 1446

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:03    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Je ne comprends pas trop l'utilité du script, quelqu'un peut m'éclairer ?
 
lothar Visiter le site web du posteur
Vince100
WRInaute impliqué
WRInaute impliqué

Inscrit le: 22 Nov 2004
Messages: 372

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:14    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Dans le pire des cas: refuser l'accès aux visiteurs qui ont adblock activé Rolling Eyes
 
Vince100
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12053
Localisation: Toulouse

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:16    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

pour résumer, un script à la c*n Smile
enfin, un script pour perdre des visiteurs
 
e-kiwi Visiter le site web du posteur
Vince100
WRInaute impliqué
WRInaute impliqué

Inscrit le: 22 Nov 2004
Messages: 372

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:17    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

e-kiwi a écrit:
pour résumer, un script à la c*n Smile
enfin, un script pour perdre des visiteurs


On est bien d'accord Smile
 
Vince100
zimounet
WRInaute accro
WRInaute accro

Inscrit le: 08 Nov 2004
Messages: 1799
Localisation: Physiquement ou mentalement?

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:21    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Ce script mérite tout de meme sa place ici je pense...
 
Vince100
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12053
Localisation: Toulouse

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:22    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

autant que toi Smile

(c'est de l'humour !!)
 
e-kiwi Visiter le site web du posteur
Suede
WRInaute accro
WRInaute accro

Inscrit le: 04 Oct 2002
Messages: 3630
Localisation: Suède

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:31    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Pour rediriger les visiteurs vers une version sans pub et alléger le serveur Rolling Eyes
Arrow


Dernière édition par Suede le Mer Nov 16, 2005 18:31; édité 1 fois
 
Suede Visiter le site web du posteur
jeroen
WRInaute accro
WRInaute accro

Inscrit le: 30 Aoû 2002
Messages: 2257

URL permanente de ce messagePosté le : Mer Nov 16, 2005 18:31    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Tant qu'a jouer, autant faire
Code:
function adblocktest() {
        item=document.getElementById('adblocktest');
        if (item.style.display == 'none') item.style.display = 'block';
        if (item.style.visibility == 'hidden') item.style.visibility = 'visible';
}
 
jeroen
Grantome
WRInaute accro
WRInaute accro

Inscrit le: 16 Jan 2004
Messages: 2900

URL permanente de ce messagePosté le : Mer Nov 16, 2005 19:05    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

jeroen a écrit:
Tant qu'a jouer, autant faire
Code:
function adblocktest() {
        item=document.getElementById('adblocktest');
        if (item.style.display == 'none') item.style.display = 'block';
        if (item.style.visibility == 'hidden') item.style.visibility = 'visible';
}


+1
 
jeroen
yanhl
WRInaute passionné
WRInaute passionné

Inscrit le: 04 Déc 2003
Messages: 792

URL permanente de ce messagePosté le : Mer Nov 16, 2005 19:07    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

intéressant ce script, on pourrait s'en servir pour voir quel pourcentage de visiteurs bloquent la pub.
Et si elle ne s'affiche pas, la remplacer par une auto-pub (pour une autre rubrique par exemple), ou une pub d'une autre régie.

C'est quand même fou ce que certains peuvent critiquer par réflexe...

P.S. pour les deux derniers : adblocktest n'est qu'une image témoin, vous ne forcerez pas l'affichage de la pub comme ça Wink
 
yanhl Visiter le site web du posteur
jeanluc
WRInaute accro
WRInaute accro

Inscrit le: 03 Mai 2004
Messages: 2232
Localisation: Bruxelles

URL permanente de ce messagePosté le : Mer Nov 16, 2005 19:23    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

Vince100 a écrit:
e-kiwi a écrit:
pour résumer, un script à la c*n Smile
enfin, un script pour perdre des visiteurs


On est bien d'accord Smile


Ah bon Question

Je ne dis pas que ce script est la solution idéale, mais le soft à la c*n, pour moi, c'est Adblock, un gadget destiné à ceux qui apprécient vos sites financés par la pub, mais qui ne veulent pas que vous tiriez un revenu de cette pub. Rolling Eyes

Jean-Luc
 
jeanluc Visiter le site web du posteur
Vince100
WRInaute impliqué
WRInaute impliqué

Inscrit le: 22 Nov 2004
Messages: 372

URL permanente de ce messagePosté le : Mer Nov 16, 2005 19:33    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

jeanluc, ne relance pas la polémique sur adblock...
Adblock est encore d'une utilisation marginale, et 95 % de ses utilisateurs ne cliquent pas sur les pubs en général, donc la perte engendrée du fait de son utilisation est minime.

Ne pas vouloir afficher des pubs sur son navigateur est tout aussi légitime que de ne pas souhaiter de prospectus dans sa boîte aux lettres, et un script qui essaie de contourner cette volonté (qui n'est pas celle de la majorité des internautes je le repète) est à mon avis une escalade malsaine...
 
Vince100
adblock
Nouveau WRInaute

Inscrit le: 16 Nov 2005
Messages: 13

URL permanente de ce messagePosté le : Mer Nov 16, 2005 20:16    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

e-kiwi a écrit:
pour résumer, un script à la c*n Smile
enfin, un script pour perdre des visiteurs


Pour ceux d'entre vous qui ont un site à but unique de gagner de l'argent, un visiteur qui ne vois pas la pub est un visiteur qui ne sert à rien de toute façon.

jeroen a écrit:
Tant qu'a jouer, autant faire
Code:
function adblocktest() {
        item=document.getElementById('adblocktest');
        if (item.style.display == 'none') item.style.display = 'block';
        if (item.style.visibility == 'hidden') item.style.visibility = 'visible';
}


Non justement. adblocktest est l'image témoin. Les scripts genre celui de adsense ne sont tout simplement pas chargés. Par contre si c'est seulement l'iframe qui est bloquée il y a peut être moyen.

Citation:
Ne pas vouloir afficher des pubs sur son navigateur est tout aussi légitime que de ne pas souhaiter de prospectus dans sa boîte aux lettres, et un script qui essaie de contourner cette volonté (qui n'est pas celle de la majorité des internautes je le repète) est à mon avis une escalade malsaine...


Il y a une différence entre ta boite aux lettres, qui est ta propriété, et une page de pub dans un magazine par exemple.
 
adblock
Vince100
WRInaute impliqué
WRInaute impliqué

Inscrit le: 22 Nov 2004
Messages: 372

URL permanente de ce messagePosté le : Mer Nov 16, 2005 20:23    Sujet du message: Détecter adblock: le script anti-adblock (nouvelle version)

adblock a écrit:
Il y a une différence entre ta boite aux lettres, qui est ta propriété, et une page de pub dans un magazine par exemple.


Dans un magazine je peux tourner la page si ça ne me plait pas, et la pub ne vient pas se placer au dessus de l'article que je lis en clignotant (cf les flash en quasi plein écran) Wink
 
Vince100
 
Montrer les messages depuis:   
Revenir en haut    Forum -> AdSense Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 7 - Aller à la page 1, 2, 3, 4, 5, 6, 7  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort