Я не знаю, как работают блокировщики рекламы, но, например, Блокатор рекламы Chrome, который у меня есть , позволяет мне выбрать определенный элемент DOM, содержащий рекламу, которую нужно удалить: <div id="ad_holder"> ... ads ... </div>
, и блокировщик удалит еекак-то.
Если вы поместите некоторый javascript в этот div с коротким таймером, который будет модифицировать глобальную переменную, и другим таймером, который будет выполняться позже, читая эту глобальную переменную, можете ли вы предположить, что блокировщиков рекламы нетстраницу, если переменная была правильно установлена?Что произойдет, если блокировщик удалит div после того, как Chrome оценит этот javascript, удастся ли таймеру установить переменную, хотя родительский div был удален?
AdBlock также поддерживает общедоступный список «плохих» серверов (http://www.doubleclick.com?) И, вероятно, будет блокировать запросы HTTP на контент с этих серверов.Это может быть сделано, если он интегрируется с Chrome, чтобы он мог определить какую-то политику содержимого - что загружается, а что нет.Этот случай вы можете обнаружить с помощью ранее описанного подхода.Если ваш клиент является поставщиком рекламы, я думаю, рано или поздно он окажется в черном списке:)
Блокировщик может только изменить CSS и скрыть весь div, но это можно легко обнаружить.