Как отловить пользователей расширения AdBlock
Для того, чтобы определить, что у пользователя установлено расширение для блокировки рекламы AdBlock
или AdBlock Plus
, достаточно в код страницы включить вызов скрипта, который бы попадал под специальные паттерны для определения рекламных блоков (например, <div> с классом .banner).
И, если скрипт не выполнился, то, соответственно, расширение для браузера установлено.
Подключаем в шапке вашей страницы скрипт, название которого попадает под паттерн AdBlock:
<script src="advert.js"></script>
Внутри данного файла (advert.js
) определяем переменную:
window.adBlock = false;
Теперь достаточно выполнить простую проверку на стороне клиента:
if ( ! ( 'adBlock' in window ) ) { alert( 'Расширение AdBlock установлено!' ); }
Что делать с пользователями, установившими расширение AdBlock решать вам. Можно обратиться к ним с просьбой внести ваш сайт в список исключений, если проект им действительно интересен.
Ссылки
- Оригинал данной идеи принадлежит Илье Чекальскому
- Живой пример
а как вывести сообщение если включен Element Hiding Helper for Adblock Plus.
мне прет что я ставлю пользовательскую рекламу (тематическую и для людей), а есть такой один — сидит и заблокировал. теперь банер с адблоком не показывается. показывается на сайте без адблока. хотя банер лежит ввиде картинки — в корне сайта =( устал каждый день менять div банера и адрес картинки.. что делать? дайте наводку пожалуйста.
<div id="foo-<?php echo rand(0, 9999); ?>">банер</div>
А можно ли сделать задержку вывода сообщения? А то если сайт быстро открывается, то сразу после нажатия на ссылку он даже не успевает перерисовывать новую страницу, а сообщение уже выскакивает .
Это дезориентирует..
setTimeOut в JavaScript никто не отменял, так что можно
В последней версии Google Chrome заметил, что данное оповещение появляется, а потом сразу исчезает. Что интересно, так происходит не всегда, но довольно часто… ранее таких проблем не наблюдал, всё работало как часы.
В последней версии Хрома встроили свой блокировщик рекламы и много чего интересного!
«Живой пример» из статьи вызывает сомнения, т.к. эта страница с активным блокировщиком рекламы показывает «AdBlock is disabled». Либо адблок не блочит всё подряд.
А вас не смутило, что пост написан 10 лет назад?