##Простой скрипт для проверки, блокирует ли браузер рекламу.
Введение в проект и интерактивная демонстрация в моем блоге: http://esd.io/blog/detecting-adblock-javascript.html.
[...] <script> // We inline abt.min.js rather than link to it so that it's harder for an Ad Blocker to whitelist // it. (don't worry it's short!) // ^^^^ Paste contents of abt.min.js here ^^^^ ad_block_test(function(is_blocked){ // Note this function may not run until some time later. if(is_blocked) { // if blocker detected, log a Google Analytics event var _gaq = _gaq || []; _gaq.push(['_trackEvent', 'AdTracking', 'AdBlockerDetected', 'ABT detected Ad Blocker in use']); } }); </script> </body> </html>
См. каталог test/ для других примеров использования и примечаний.
Должен работать против любого плагина блокировки рекламы, который подписывается на EasyList (или аналогичный) и сворачивает элементы рекламы.
Протестировано против:
AdBlock для Chrome и AdBlock Plus для Chrome
AdBlock Плюс для Firefox
Цели сценария:
Уметь собирать общую статистику о том, сколько посетителей активно блокируют рекламу через Google Analytics, Mixpanel или другую подобную систему.*
Минимальное влияние на производительность посетителей, независимо от того, блокируют они рекламу или нет. Текущий сценарий не выполняет никаких сетевых запросов.
Будьте консервативны. Лучше пропустить некоторые блокировщики рекламы (ложноотрицательный результат), чем неправильно пометить некоторые браузеры как имеющие блокировщик рекламы (ложноположительный результат).
Минимальные предпосылки. Не требует JQuery. Не требует конкретной платформы для показа рекламы или даже каких-либо реальных объявлений на странице.
Примечание. Люди, блокирующие рекламу, могут также блокировать ваше аналитическое программное обеспечение. Некоторые могут даже использовать NoScript и блокировать весь JavaScript на вашем сайте.