Vraag:
Hoe detecteren sommige sites AdBlock Plus?
Celeritas
2013-05-31 09:42:33 UTC
view on stackexchange narkive permalink

Deze schakelt bijvoorbeeld de functie uit als AdBlock plus wordt gedetecteerd, en het werkt. Is er een manier om dit te omzeilen?

Een antwoord:
Adi
2013-05-31 10:34:17 UTC
view on stackexchange narkive permalink

Er zijn veel scripts en projecten om site-eigenaren te helpen AdBlock Plus te detecteren, maar ik denk dat je geïnteresseerd bent in hoe ze werken.

Het idee is simpel. De website laadt een JavaScript-bestand met de naam ads.js (of een andere naam die AdBlock Plus "aantrekkelijk" vindt), dat het volgende bevat:

  var amIHere = document.createElement ("div"); amIHere.setAttribute ("id", "amIHere"); document.body.appendChild (amIHere); 

Als u AdBlock Plus heeft, wordt dit script geblokkeerd en wordt de div niet gemaakt. Vervolgens gebruiken ze een JavaScript-bestand met een normale naam dat een eenvoudige controle bevat voor het bestaan ​​van de div.

  if (document.getElementById ('amIHere')) {alert ("You're Alright"); } else {alert ("You're using AdBlock Plus");}  

Andere methoden zijn om een ​​div te laden met de id ads of die een klasse heeft tekstadvertenties die AdBlock Plus detecteert als advertenties en probeert te verbergen, controleer vervolgens met behulp van JavaScript of de div verborgen is of niet.

Dit zal u helpen de meerderheid van AdBlock Plus te detecteren gebruikers, maar vanwege de aard van dit probleem (alles gebeurt aan de kant van de klant), kan een gebruiker in theorie al uw controles en detectoren omzeilen.

Als een "hoofdgebruiker", wanneer een website die ik moet gebruiken, vertelt me ​​dat ik Adblock Plus moet uitschakelen, ik schakel het gewoon uit en schakel het in nadat ik klaar ben. Ik wil niet echt tijd en middelen besteden om er een weg omheen te vinden. U kunt er dus van uitgaan dat de overgrote meerderheid van uw gebruikers er geen last van heeft. Ze zullen geïrriteerd zijn dat je ze dwingt om het uit te schakelen, maar ze verlaten je website of schakelen AdBlock Plus gewoon uit.

Over de methode om de zichtbaarheid van de div te controleren, ABP lijkt slim genoeg om het te verbergen en geeft nog steeds een display = block terug. Op Chrome krijg ik een display = none.Geweldig, bedankt.
@daVe ABP is echt "slim genoeg om het te verbergen en geeft nog steeds een display = block"?
@Geremia Ik weet niet waarom.Het is misschien een firefox-gedrag.Mijn oplossing was om een var binnen ads.js te definiëren en deze buiten te controleren.


Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...