На сайте для проверки видно, что работает не до конца. Выводит, что адблок не обнаружен, но квадрат слева остается красным. При отключенном адблоке он зеленый. Это даже на скриншоте в описании юзерскрипта видно.
Так в этом и цель — скрыть рекламу, но заблокировать определение через FuckAdBlock.js
Левый блок, как понимаю — показатель работы Adblock, а справа — показатель работы FuckAdBlock.js
А не силен в JavaScript, но после просмотра исходников, закрадывается впечатление, что FuckFuckAdBlock.user.js просто пытается подменить собой FuckAdBlock.js. И если админ сайта не поленится переименовать класс в FuckAdBlock.js, то FuckFuckAdBlock.user.js превратится в пшик. Я прав? Если так, то средство очень сомнительной эффективности.
Похоже на то. Причем админу даже не нужно ничего переименовывать в исходниках FuckAdBlock, последний позволяет отключить автоматическую инициализацию и провести ее вручную, используя любую другую переменную даже в замыкании. Я так понял, что FuckFuckAdBlock только значение этой переменной переопределяет, он даже не подменяет сам конструктор FuckAdBlock.
Если вы имеете ввиду использование блокировку рекламы через блокировку рекламных доменов, то, во-первых, у этого подхода более скудные возможности по сравнению с адблоком, а во-вторых, многие сайты и этот способ блокировки детектируют. Чего тут сложного — проверь загрузились ли баннеры.
Вполне ожидаемо.
На следующем этапе ждём от разработчиков AdBlock создания полноценной инфраструктуры обновления, как у антивирусов. Чтобы никакие рекламщики не угнались.
Подозреваю, что такой стороной могут оказаться только рекламщики. Также подозреваю, что если Хром допустит такое (не за бесплатно, конечно), то это будет концом Хрома.
Вообще есть более поганые разновидности детекторов:
1. Вставляют элементы со случайными именами и без аттрибута style (хрен так сходу заблокируешь).
2. Скрывают/удаляют весь контент страницы на фоне, чтоб проку от блокировки было ровно ноль.
Впрочем, в Adblock Plus недавно появилась поддержка опций genericblock и generichide, которые запрещают применение на сайте общих правил блокировки и скрытия соответственно. В результате все популярные детекторы адблока при их наличии фейлятся. Применяется вот так:
@@||domain.name^$genericblock,generichide
После этого нужно сделать набор необходимых фильтров, привязанных к конкретному домену:
||adserver.name^$domain=domain.name
domain.name##css-selector-here
Пока не попадалось. Спасибо.
**********
Ещё использую АдБлок, чтоб убирал мешающую плашку на Фейсбуке, которая просит/требует регистрации. Нет аккаунта и заводить не собираюсь, но иногда нужно что-то посмотреть там.
Вышел скрипт FuckFuckAdblock.user.js для обхода FuckAdblock.js