La majorité des bloqueurs de pubs désactive la communication entre le client et les serveurs d'annonces. les filtres sont principalement basés sur des jeux de régles sui sélectionne les éléments de la page à bloquer. La régle la plus courante consiste à détecter et bloquer les URLs qui contiennent le mot "ads" (publicité en anglais). C'est ce que nous allons utiliser pour détecter si les publicités sont interceptées.
Créer un fichier ads.js
qui contient le script suivant:
var canRunAds = true;
Ensuite, charger le script dans l'en-tête de chaque page où il est nécessaire de détecter les bloqueurs:
<head>
...
<script src="/js/ads.js"></script>
</head>
La plupart des bloqueurs devraient empécher le script de se charger correctement. Donc, il ne reste plus qu'à
détecter si la variable canRunAds
existe avec le JavaScript suivant:
if( window.canRunAds === undefined )
{
// adblocker detected, do something
displayAlternateMessage();
}