Chtiland vous présente ses meilleurs vœux pour cette nouvelle année 2024 !

Détecter un bloqueur de publicités

Difficulté
Facile

Comme il n'y a plus de publicités1) sur Chtiland, ce script n'est plus utilisé, mais le principe de base reste valide ;).

J'ai tout d'abord cherché un script tout fait, bien entendu pourquoi réinventer la roue ?

Ayant trouvé plusieurs solutions en français, en anglais, j'en ai testé certaines et aucune ne semblait fonctionner… J'ai donc mis les mains dans le cambouis en me basant sur cette page "Building a simple 'Anti Adblock' script".

Notez que mon but était de créer un “bloc” dans le menu de droite de ce site à l'époque propulsé par Joomla.

Ici je vais simplement expliquer la méthode pour ce site (résultat en haut du menu de droite de ce site Complice).

Tout d'abord, notez que mon site n'est pas à la racine du domaine mais dans un dossier v6, ce qui me permet de séparer plus facilement les éléments hors Joomla.

Première étape créer un fichier banner.js contenant une seule et unique ligne :

banner.js
document.write("<div id='adpbtest'></div>");

Au départ j'avais simplement placé ce script dans un sous-répertoire scripts de Chtiland mais cela ne donnait pas de résultat concret, en analysant les filtres de ADBlock Plus2), j'ai créé un sous-dossier ads_php pour y placer ce fichier.

N'incluez pas directement ce script sur vos pages, à moins que vous n'acceptiez l'ajout d'un lien vers cette page sur votre site.

Créez un fichier banner.js que vous placerez à la racine de votre site ou ailleurs ;-). (Pour des raisons de sécurité évidentes, évitez d'appeler n'importe quel script externe à votre site sur votre propre site !)

Une fois terminé, j'ai créé un nouveau module personnalisé, mais comme ce module doit contenir aussi du JavaScript, j'ai installé le module Mod HTML de DART Creations.

Dans la zone HTML j'ai inséré ce code :

mod.html
<script language="JavaScript" 
	type="text/javascript" 
	src="http://www.VOTRESITE.com/scripts/ads_php/banner.js">
</script>
 
 
<script language="JavaScript" type="text/javascript">
var x = document.getElementById("adpbtest");
if(!x) {
    var noads=true;
}
if (noads) {
	document.write("<img src='http://www.VOTRESITE.com/scripts/abp_on.gif' ");
        document.write("alt=':-(' align='left'>");
	document.write("Un bloqueur de publicités a été détecté.<br/>");
        document.write("Ce site entièrement gratuit vit en partie grâce aux");
        document.write(" publicités.<br/>");
        document.write("Nous vous serions très reconnaissants de désactiver ");
        document.write("ce bloqueur de pubs<br/>Merci pour votre soutien !");
} else {
	document.write("<img src='http://www.VOTRESITE.com/scripts/abp_off.gif' ");
        document.write("alt=':-(' align='left'>");
	document.write("Pas de bloqueur de publicités détecté !");
        document.write("<br/>Merci pour votre soutien !");
}
 
</script>

Ensuite il s'agit d'un simple paramétrage de module que je vous laisse adapter à vos besoins.

Concernant les sources des images et du JavaScript, vous pouvez les utiliser tels quel ou les télécharger sur votre propre site et adapter le code en conséquence.

Si vous avez apprécié cette petite astuce, soyez fair-play, ne la recopiez pas sur votre site, ajoutez simplement un lien vers cette page ;-)

1656


1)
Si ce n'est que des liens “directs” vers Amazon, et éventuellement un petit bandeau gratuit et un lien direct pour une association caritative, si vous êtes intéressé, me contacter
2)
Préférez-lui uBlock Origin
Stéphane, 17-05-2013, 21-02-2014
Bonjour

Je viens de mettre en place ce petit outil... :-*
ça fonctionne!!! :-)

merci
a+
Stéphane
Saisissez votre commentaire
(Tous les commentaires sont validés avant parution.) :
 

Si cet article vous a été utile ou simplement si vous appréciez ce site, n'hésitez pas à me soutenir via Paypal ou en utilisant la bannière Amazon1) ci-dessous pour vos futurs achats, ça ne vous coûtera pas plus cher et ça soutiendra un peu ce site ;-)


1)
Ou ajoutez ce lien https://gou.re/amazon vers Amazon dans vos favoris ;-)
  • de fabrice