Question

Je souhaite détecter les logiciels sur mon site logiciel antipub et demander aux utilisateurs de désactiver Adblock en redirigeant. La seule façon que j'ai trouvé en utilisant Javascript.

  1. est-il un autre moyen de détection?

  2. Sinon, comment puis-je détecter si Javascript est désactivé et les rediriger vers une certaine page?

Était-ce utile?

La solution

Vous ne pouvez pas réellement « détecter » si javascript est désactivé. Étant donné que le javascript est une fonctionnalité côté client, le serveur ne peut pas le détecter, et « détecter » les choses côté client se fait avec javascript. Vous voyez les prises 22.

Ce qui est disponible est la balise <noscript>, qui est seulement rendu par le navigateur si javascript est désactivé. C'est le mécanisme standard pour l'affichage d'un message à un utilisateur si javascript est désactivé. En utilisant noscript et CSS intelligent, vous pouvez, il est impératif que les utilisateurs soit activer javascript ou cliquer sur un lien de redirection que vous présentez à utiliser votre site.

Il n'y a aucun moyen de rediriger automatiquement uniquement les utilisateurs qui ont désactivé javascript. Vous pouvez rediriger les utilisateurs de manière sélective en utilisant javascript, ou vous pouvez rediriger les personnes en fonction de critères côté serveur (en-têtes HTTP, etc.). Mais vous ne pouvez pas attraper ce groupe intermédiaire.

En ce qui concerne la détection de logiciel antipub, cela va varier selon le navigateur et le procédé logiciel antipub. Il n'y a pas un drapeau cohérent pour, mais vous pouvez faire des choses comme la vérification de la disponibilité de votre serveur d'annonces via javascript, ou vérifier si le contenu de votre annonce est chargée sur la page.

Autres conseils

Pour détecter si l'utilisateur bloque annonces, tout ce que vous avez à faire est de trouver une fonction dans le javascript publicitaire et essayer de tester pour elle. Peu importe quelle méthode qu'ils utilisent pour bloquer l'annonce. Voici à quoi il ressemble pour les annonces Google Adsense:

if(typeof(window.google_render_ad)=="undefined") 
{ 
    //They're blocking ads, do something else.
}

Cette méthode est décrite ici: http: // www. metamorphosite.com/detect-web-popup-blocker-software-adblock-spam

Pour rediriger tous les utilisateurs avec javascript qui est désactivé, il suffit de mettre ce code dans la tête de votre code HTML:

<noscript>
    <meta http-equiv="refresh" content="5;url=http://newsite.com/">
</noscript>

Je cite cet article sur le sujet:

http://w3guy.com/detecting-adblock/

HTML

<div class="myTestAd">
    <!-- Adsense Ad code goes here -->
</div>

JS:

if ($('.myTestAd').height() == 0) {
    // stuff to do if adBlock is active
} 

Je ne pouvais pas obtenir @ solution de Beau à un contrôle de travail pour « window.google_render_ad », mais cela n'a pas fonctionné lors de la vérification « window.google_jobrunner ».

Peut-être que le code Adsense a changé depuis la réponse initiale a été publiée, j'ai trouvé « google_jobrunner » dans le JS téléchargé à partir de Adsense, mais pas « google_render_ad ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top