Программирование

Как определить AdBlock с помощью JavaScript

В последнее время я постоянно натыкаюсь на слезливые просьбы об отключении AdBlock. Даже популярный среди айтишников ресурс «Хабрахабр» не избежал подобной участи (тут стоит вспомнить ежегодные попытки ребят из Яндекса поднять свои доходы за наш счет). Обычно используются такие речевые обороты, как «С плагином сайт может работать некорректно», «Мы стараемся для тебя и не требуем ничего взамен», которые, при наличии фантазии, легко превращаются в «Мне просто не хватает денег на новую Ferrari», «Друг, я зарабатываю миллионы на рекламе. Сделай мне приятное». Если вам тоже хочется покататься на элитном спорткаре в компании длинноногой девушки модельной внешности, то эта инструкция для вас.

Честно говоря, когда я увидел обращение к пользователям на ресурсах компании TM, то подумал, что уж они наверняка придумали какое-то оригинальное решение для определения дополнения. К сожалению, все оказалось проще, а сам метод с успехом применяется уже несколько лет. Суть заключается в вызове скрипта с именем advertising (adv, advert, advertisement), который будет по умолчанию блокироваться расширением. Придется лишь задать в нем некую переменную в качестве сигнала.

Итак, advertising.js:

var adblock = 'no';

Просто, не правда ли?

Нас осталось лишь проверить ее на существование:

<script src="/advertising.js"></script>
<script type="text/javascript">
    if (typeof adblock == 'undefined')
        var adblock = 'yes';
    $(document).ready(function() {
        if (adblock == 'yes')
            $('.Cry_Me_a_River').show();
    });
</script>

<div class="Cry_Me_a_River" style="display: none; background: #D4E2F0; width: 400px; height: 100px; position: absolute; z-index: 9999; top: 50%; left: 50%; margin: -50px 0 0 -200px; border: 1px solid #A8DE76; border-radius: 3px; padding: 10px; font-size: 16px;" onclick="$('.Cry_Me_a_River').hide();">
Cry me a river-er
(Go on and just)
Cry me a river
(Baby go on and just)
</div>

Конечно, стили надо было прописать в отдельном файле, но мне лень.

Теперь про эффект. Судя по исследованиям, в IT аудитории лишь около 20% пользуются данным плагином (странно, я думал больше… хотя есть же всякие noscript, ghostery и прочие), так что эффект от применения может быть значительным. Тем не менее, отзывы тех, кто попробовал, весьма удручающи. Так, пацаны из «Цукерберг позвонит» признались, что «акция на общую статистику никак не повлияла». Более того, через некоторое время «сам AdBlock (видимо, как раз на основе действий своих пользователей) занес весь наш блок с баннером в черный список».

Как по мне, то я бы не стал заниматься подобными экспериментами. Противники рекламы не отключат расширение, а преданные пользователи самостоятельно добавят ваш сайт в исключения без всяких напоминаний.

P.S. Если вы все же решитесь, то отпишитесь о результатах в комментариях.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *