vue Détecter adblock: le script anti-adblock
Kommunauty
Connexion
Inscription

Détecter adblock: le script anti-adblock


darkray0110 Messages : 116

Script AntiAdblock


<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>
mardi 16 aout 2011 (Dernière édition mercredi 17 aout 2011)

Binboy Messages : 129

Ca tombe bien je le cherchais Y a plus qu'a tester et y jeter un petit coup d’œil. Merci darkray

mardi 16 aout 2011

darkray0110 Messages : 116

Mais de rien donne nous ton avis par la suite ou si tu à une petite modification à faire au script

mardi 16 aout 2011

Binboy Messages : 129

Ca marche pas chez moi... Tu l'as testé ?

mardi 16 aout 2011

Binboy Messages : 129

Oui et il me met qu'adblock est activé même quand je le désactive

mardi 16 aout 2011

darkray0110 Messages : 116

Je vais tester sur mon site à moi je verrais ce que ça donne je te tiens au courant

Pour moi le deuxième script ne fonctionne pas du tout par contre le premier script fonctionne à moitié

Quand j'active Adblock j'ai pas de message par contre quand je le désactive j'ai le message que Adblock et Activé

mardi 16 aout 2011 (Dernière édition mardi 16 aout 2011)

darkray0110 Messages : 116

Voici un script

J'ai supprimé une ligne, car nous avions un message d'alerte quand Adblock était activé et désactiver

Maintenant ont un message d'alerte que quand Adblock et activer sur le site

<script type="text/javascript">
function _enabled() {
    alert('detected');
}
function _disabled() {
}
var _abdDetectedFnc = '_enabled';
var _abdNotDetectedFnc = '_disabled';
</script>
 
<script type="text/javascript" src="http://adblockdetector.com/script.php"></script>
mardi 16 aout 2011 (Dernière édition samedi 28 avril 2012)

Binboy Messages : 129

J'ai testé et ça ne marche toujours pas chez moi. Peut être mon adblock qui est trop smart Ton nouveau script est vachement court, peut être pour ça que ça marche pas

mardi 16 aout 2011

darkray0110 Messages : 116

Chez moi il fonctionne bizarre tu à qu'elle Adblock toi ? et sous qu'elle navigateur ?

J'ai tester sous Chrome sa fonctionne aussi donc bizarre

mardi 16 aout 2011 (Dernière édition mardi 16 aout 2011)

Binboy Messages : 129

Adblock Plus v1.3.9 sous Firefox mais j'utilise pas les whitelists. C'est peut être pour ça d'ailleur... '

mardi 16 aout 2011 (Dernière édition mardi 16 aout 2011)

Page suivante »