Détecter adblock: le script anti-adblock (nouvelle version)
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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:
Compatibilité:
Ce script fonctionne avec les techniques de bloquage suivantes:
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.
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: Tout sélectionner
<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 15:36, édité 10 fois.
Tant qu'a jouer, autant faire
- Code: Tout sélectionner
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 a écrit:Tant qu'a jouer, autant faire
- Code: Tout sélectionner
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
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
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
Vince100 a écrit:e-kiwi a écrit:pour résumer, un script à la c*n
enfin, un script pour perdre des visiteurs
On est bien d'accord
Ah bon
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.
Jean-Luc
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...
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...
e-kiwi a écrit:pour résumer, un script à la c*n
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: Tout sélectionner
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.
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 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)
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Google Desktop pour Mac OS X
- La valse des rachats de sociétés par Google en mai/juin 2007
- Nouveau Picasa : Picasa Web Albums
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Les albums web Picasa passent à 1 Go de stockage
- Photos satellite des incendies en Grèce dans Google Earth
- Ajouter un Gadget Google sur son site
- Picasa Web Albums en français
- Le positionnement d'annonces AdSense : explications
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités








le forum