' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
AD-охотник является одной из важных сервисных функций "Русского резака", являющейся аналогом известной "пипетки" в других блокировщиках рекламы.
В рамках "брэнда" x.Block этот термин можно интерпретировать как "Advanced (Advertisement) Destroyer (Destructor, Deleter)" – "продвинутый чистильщик рекламы", предназначенный для точечного "отстрела" любых нежелательных элементов дизайна веб-страниц. Это название также "навеяно" соответствующей функцией, имеющейся в старом добром браузере Maxthon2.)
В этой статье:
Прообразом AD-охотника стало известное (в прошлом) расширение AdBlock+ Element Hiding Helper (сокращённо – AdBlockHelper). В разработке x.Block'а использован основной принцип и методы выделения контента на странице, заложенные в AdBlock+, эти функции были адаптированы под текущие "реалии" Интернета и работают практически без проблем на любых веб-сайтах.
Впервые в x.Block'е эта функция появилась с версии 2019.5.28 (ECR#3). В дальнейшем фича практически не претерпела изменений и используется во всех последующих релизах.
Как уже сказано, режим "AD‑охотник" является аналогом известного инструмента "пипетка", имеющегося во многих современных блокировщиках. Этот режим предназначен для оперативного скрытия нежелательных элементов на веб‑страницах, которые не были удалены фильтрами и подписками. Функционал "охотника" основан на CSS‑фильтрации и позволяет достаточно гибко и оперативно настраивать внешний вид сайтов по предпочтениям пользователя.
Принцип действия простой – после активизации "охотника" при перемещении мыши на веб‑странице подсвечиваются все элементы, находящиеся под курсором (состояние "прицеливания").
Щелчок по любому подсвеченному элементу (собственно "выстрел") вызывает диалог сохранения CSS-правила для выбранной "цели", при подтверждении правило заносится в список блокировки. Если вы промазали и случайно завалили медведя выделили не тот элемент – ничего страшного, жмём Escape и "пущай живёт пока"…)
Возможна и обратная операция – "реанимация отстреленных", откат блокировки и удаление правила из списка фильтров. Функция отмены блокировки для текущей страницы всегда доступна из контекста или из попапа. Кроме этого, можно полностью снять все правила разом и "вернуть как было" в любой момент, отредактировав правила вручную.
Главное, о чём следует помнить – AD-охотник не вызывается на страницах сайтов из вашего "белого списка" (на которых вы запретили блокировку). Соответственно, на этих доменах (сайтах) также не будут работать никакие ранее заданные правила CSS-фильтрации, установленные вами до включения сайта в "белый список".
На всякий случай – на "особо огороженных" доменах (CWS и иже) сабж также недоступен, по определению…
На остальных сайтах режим "AD‑охотника" можно вызвать и настроить прямо в попапе:
На всякий случай – для большинства опций в попапе есть хелп в виде всплывающих подсказок, наводим мышку на кнопки, читаем и нажимаем…)
При одиночном щелчке по "стоп‑знаку" [⛔] открывается блок управления "охотника":
Блок настроек содержит две кнопки управления (на скриншоте выше подсвечена "стрелятельная" кнопка) и текстовое поле, в котором можно вручную внести любые изменения в правила для текущей страницы или сайта. Роль кнопок меняется в зависимости от действий пользователя, смотрим внимательно, читаем подсказки и делаем…
Кроме "стрелка" в попапе можно вызвать и "реаниматора" (вторая кнопка):
При вызове бригады скорой помощи "реаниматора" попап закрывается и подсвечиваются соответствующие "мёртвые души" на текущей странице. Наводим курсор, щёлкаем мышкой по "красненьким" и снимаем фильтрацию, всё просто!
Кроме того, доступ к режиму "AD-охотника" возможен и по горячим клавишам прямо на странице – при включении соответствующей опции в Настройках.
С точки зрения работы функций "отстрела" (или "реанимации") разницы между способами вызова нет, но в некоторых случаях хоткей может быть удобнее (да и просто быстрее!), чем вызывать попап и активизировать в нём этот режим.
В общем, выбор способа вызова остаётся за вами, как вам привычнее и проще.
Основные настройки AD‑охотника и управление его фильтрами находятся в соответствующем блоке основных настроек фильтрации контента. Как уже сказано, при ручной правке фильтров следует соблюдать определённую внимательность и чётко представлять себе, как будет работать изменённое вами правило.
В общем, если вы "невкурсах" – лучше не ломайте то, что создано "охотником" автоматически.)
На скриншоте ниже подсвечена опция, отвечающая за доступ к функциям "стрелка" по нажатию горячих клавиш:
Все доступные при этом горячие клавиши перечислены в подсказке к этой опции. Эти комбинации работают на любой веб‑странице, кроме "белосписочников" и, понятно, "особо огороженных", типа гуглозина.)
Если эта опция выключена – доступ (вызов) "охотника" (или "реаниматора") возможен только из попапа.
Вторая дополнительная опция в Настройках чисто сервисная, для удобства отладки и т.п.:
Назначение опции должно быть понятно из подсказки, в случае "мне просто для работы" её можно и не включать.
Кроме того, эта опция работает только если у вас при этом открыта в отдельной вкладке сама страница Настроек.
Если эта опция включена, все вновь создаваемые (или изменяемые в попапе или в "онлайне" на странице) CSS‑фильтры сразу же, "на лету", перечитываются и отображаются и на открытой в фоне странице Настроек.
Функционально AD‑охотник состоит из инжектируемого скриптового модуля (xbhunter.js), обрабатывающего контент страницы, на которой он непосредственно загружен, и модуля "ответной части", которая обеспечивает связь между инжектором и фоновым скриптом, а также отвечает за общее управление и вызов "охотника" по требованию.
Выбранные пользователем "отстреленные" элементы дизайна запоминаются как специальные правила и в дальнейшем применяются автоматически для удаления таких элементов. При этом в x.Block'е задействуются те же самые функции, которые работают для любых других "подписочных" правил CSS‑фильтрации, никакой отдельный обработчик правил для AD‑охотника не требуется.
Режим "привязан" к дизайну конкретных сайтов и/или отдельных страниц. Созданные динамические CSS‑правила не являются глобальными фильтрами.
Тем не менее, можно в любой момент перенести эти правила в пользовательские фильтры для их "глобального" применения. В этом случае правила "охотника" попадают в ваши частные правила фильтрации, управлять которыми можно в соответствующем разделе Настроек.
Оперативно изменить текущие правила для конкретной страницы или сайта можно непосредственно в окне попапа. Полное управление всеми созданными CSS‑фильтрами доступно в соответствующем блоке Настроек x.Block'а, включая правку/удаление любых правил по доменам, а также экспорт и импорт всех частных правил фильтрации через файлы в формате *.json.
Следует понимать, что любая CSS‑фильтрация не приводит к сокращению трафика в целом, так как работает только за счёт принудительного скрытия отдельных элементов страниц посредством установки соответствующих атрибутов для "лишних" элементов дизайна, не запрещая при этом их загрузку.
Тем не менее, в x.Block'е возможна реальная блокировка загрузки таких элементов, если выставлена соответствующая опция в блоке "Оптимизация контента" ("Удалять из HTML-кода страницы все заблокированные элементы вместо их скрытия").
При включении этой опции все отфильтрованные элементы автоматически удаляются скриптом-инжектором на этапе загрузки страницы. Это реально позволяет сократить трафик, поскольку удаление "ненужного" html‑кода предотвращает его последующую загрузку. Естественно, некоторая часть "зачищенного" может браться из кэша, но и эти элементы будут в любом случае удалены (или, как минимум, скрыты, если опция выключена).
В режиме снятия фильтров AD‑охотника можно перенести любой из фильтров в статические правила блокировки.
Для этого в режиме восстановления следует зажать ALT при щелчке на любом "красном" элементе (есть подсказка).
Этот элемент (CSS) убирается из динамических правил охотника и добавляется в частные правила пользователя.
Щелчок на любом НЕ‑скрытом элементе в этом режиме абсолютно безопасен – никаких действий не производится.
Удаление перемещённых элементов из правил (или отключение их блокировки) с этого момента доступно только в Настройках – в блоке "Частные правила блокировки".
Общий смысл переноса – установка "глобально действующих" правил для типовых нежелательных элементов, присутствующих на разных сайтах. Кроме того, это обеспечивает большее удобство управления такими правилами (включение/отключение "в один клик" в списке пользовательских фильтров).
Ну и наконец, для лучшего понимания "как оно у него внутри", заострим внимание на том…
У настоящего "стрелка" должна быть "под рукой" разная "оснастка" – заранее ведь не известно, с каким "зверюгой" придётся столкнуться "на охоте", вот и приходится брать и "обычную оптику" и "ИК" до кучи, чтоб наверняка…))
Так и у AD-охотника – есть два отдельных способа "выцеливания", технически они отличаются только методом отслеживания "нажатия на курок" щелчка по нежелательному элементу веб-страницы.
Использование двух противоположных методов не является "глупой прихотью автора", это связано с суровой необходимостью тем, что на практике приходится сталкиваться с хитрозадыми сайтостроителями различными ухищрениями веб‑дизайнеров, направленными на блокировку доступа к контенту некоторых сайтов.
В таких случаях единственный метод "отстрела", имевшийся у "старины Хелпера", уже не работает, поэтому в более молодом и прытком современном AD‑хантере добавлен и второй метод перехвата щелчка по элементу – "погружение". Этот метод по умолчанию не применяется и не запоминается в настройках (в подавляющем большинстве случаев хватает "основного прицела"), вызывается как альтернативный (поэтому и управляется зажатием клавиши ALT).
Кроме того, если для борьбы с врагами народа подобными методами защиты сайтов вы включили в Настройках авторазблокировщик контекстного меню, последствия "зачистки" им защитных механизмов на отдельных веб-страницах также могут привести к невозможности выделения элементов дизайна "обычным" способом. Переключение "прицела" и в этом случае решает проблему, устраняя возможный конфликт "охотника" и разблокировщика.
Итак, конкретных рекомендаций, когда именно применять тот или иной метод "прицеливания", нет и быть не может – всё обусловлено только конкретным веб-сайтом и способами его "типа защиты". Плюс, как уже сказано, зависит ещё и от других настроек x.Block'а. Но в любом случае – если не получается выделить одним способом, заменяем "прицел" и повторяем процесс "отстрела"…))
На этом по нашему "ворошиловскому стрелку" всё. Надеюсь, теперь большинство вопросов по его применению сняты.
Доброй охоты вам! :)