Верх страницы
Логотип Telegram
@Злой_Полицейский — авторский канал вашего покорного слуги в Telegram, где я пишу заметки о веб-разработке, программировании, PHP, инструментах и WordPress.
Обложка к записи Как отловить пользователей расширения AdBlock
Время для прочтения: 0 мин. 1 сек.

Как отловить пользователей расширения AdBlock

Для того, чтобы определить, что у пользователя установлено расширение для блокировки рекламы AdBlock или AdBlock Plus, достаточно в код страницы включить вызов скрипта, который бы попадал под специальные паттерны для определения рекламных блоков (например, <div> с классом .banner).

И, если скрипт не выполнился, то, соответственно, расширение для браузера установлено.

Подключаем в шапке вашей страницы скрипт, название которого попадает под паттерн AdBlock:


<script src="advert.js"></script>

Внутри данного файла (advert.js) определяем переменную:


window.adBlock = false;

Теперь достаточно выполнить простую проверку на стороне клиента:


if ( ! ( 'adBlock' in window ) ) {
  alert( 'Расширение AdBlock установлено!' );
}

Что делать с пользователями, установившими расширение AdBlock решать вам. Можно обратиться к ним с просьбой внести ваш сайт в список исключений, если проект им действительно интересен.

Ссылки

Автор: Кобзарёв Михаил

Суровый русский разработчик. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все.

Ведет блог о разработке, дайджест в телеграмме и в ВК.

Комментарии
Подписаться
Уведомить о
guest

6 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Александр Люханов
Александр Люханов
7 лет назад

а как вывести сообщение если включен Element Hiding Helper for Adblock Plus.

мне прет что я ставлю пользовательскую рекламу (тематическую и для людей), а есть такой один — сидит и заблокировал. теперь банер с адблоком не показывается. показывается на сайте без адблока. хотя банер лежит ввиде картинки — в корне сайта =( устал каждый день менять div банера и адрес картинки.. что делать? дайте наводку пожалуйста.

mihdan
7 лет назад
Ответить на  Александр Люханов

<div id="foo-<?php echo rand(0, 9999); ?>">банер</div>

Максин Дмитрий
Максин Дмитрий
5 лет назад

А можно ли сделать задержку вывода сообщения? А то если сайт быстро открывается, то сразу после нажатия на ссылку он даже не успевает перерисовывать новую страницу, а сообщение уже выскакивает .
Это дезориентирует..

Василий
Василий
4 лет назад

В последней версии Google Chrome заметил, что данное оповещение появляется, а потом сразу исчезает. Что интересно, так происходит не всегда, но довольно часто… ранее таких проблем не наблюдал, всё работало как часы.

Предыдущая запись

Михаил Кобзарёв (mihdan)

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, фильмы и сериалы