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-правила для выбранной "цели", при подтверждении правило заносится в список блокировки. Если вы Возможна и обратная операция – "реанимация отстреленных", откат блокировки и удаление правила из списка фильтров. Функция отмены блокировки для текущей страницы всегда доступна из контекста или из попапа. Кроме этого, можно полностью снять все правила разом и "вернуть как было" в любой момент, отредактировав правила вручную. Вызов и активизация AD-охотника – попап или горячие клавишиГлавное, о чём следует помнить – AD-охотник не вызывается на страницах сайтов из вашего "белого списка" (на которых вы запретили блокировку). Соответственно, на этих доменах (сайтах) также не будут работать никакие ранее заданные правила CSS-фильтрации, установленные вами до включения сайта в "белый список". На всякий случай – на "особо огороженных" доменах (CWS и иже) сабж также недоступен, по определению… На остальных сайтах режим "AD-охотника" можно вызвать и настроить прямо в попапе:
На всякий случай – для большинства опций в попапе есть хелп в виде всплывающих подсказок, наводим мышку на кнопки, читаем и нажимаем…) При одиночном щелчке по "стоп-знаку" [⛔] открывается блок управления "охотника":
Блок настроек содержит две кнопки управления (на скриншоте выше подсвечена "стрелятельная" кнопка) и текстовое поле, в котором можно вручную внести любые изменения в правила для текущей страницы или сайта. Роль кнопок меняется в зависимости от действий пользователя, смотрим внимательно, читаем подсказки и делаем… Кроме "стрелка" в попапе можно вызвать и "реаниматора" (вторая кнопка):
При вызове Кроме того, доступ к режиму "AD-охотника" возможен и по горячим клавишам прямо на странице – при включении соответствующей опции в Настройках. С точки зрения работы функций "отстрела" (или "реанимации") разницы между способами вызова нет, но в некоторых случаях хоткей может быть удобнее (да и просто быстрее!), чем вызывать попап и активизировать в нём этот режим. В общем, выбор способа вызова остаётся за вами, как вам привычнее и проще. Настройка AD-охотника и управление созданными CSS-фильтрамиОсновные настройки AD-охотника и управление его фильтрами находятся в соответствующем блоке основных настроек фильтрации контента. Как уже сказано, при ручной правке фильтров следует соблюдать определённую внимательность и чётко представлять себе, как будет работать изменённое вами правило. В общем, если вы "невкурсах" – лучше не ломайте то, что создано "охотником" автоматически.) На скриншоте ниже подсвечена опция, отвечающая за доступ к функциям "стрелка" по нажатию горячих клавиш:
Все доступные при этом горячие клавиши перечислены в подсказке к этой опции. Эти комбинации работают на любой веб-странице, кроме "белосписочников" и, понятно, "особо огороженных", типа гуглозина.) Если эта опция выключена – доступ (вызов) "охотника" (или "реаниматора") возможен только из попапа. Вторая дополнительная опция в Настройках чисто сервисная, для удобства отладки и т.п.:
Назначение опции должно быть понятно из подсказки, в случае "мне просто для работы" её можно и не включать. Кроме того, эта опция работает только если у вас при этом открыта в отдельной вкладке сама страница Настроек. Если эта опция включена, все вновь создаваемые (или изменяемые в попапе или в "онлайне" на странице) CSS-фильтры сразу же, "на лету", перечитываются и отображаются и на открытой в фоне странице Настроек. Особенности работы и настройка динамической CSS-фильтрацииФункционально AD-охотник состоит из инжектируемого скриптового модуля (xbhunter.js), обрабатывающего контент страницы, на которой он непосредственно загружен, и модуля "ответной части", которая обеспечивает связь между инжектором и фоновым скриптом, а также отвечает за общее управление и вызов "охотника" по требованию. Выбранные пользователем "отстреленные" элементы дизайна запоминаются как специальные правила и в дальнейшем применяются автоматически для удаления таких элементов. При этом в x.Block'е задействуются те же самые функции, которые работают для любых других "подписочных" правил CSS-фильтрации, никакой отдельный обработчик правил для AD-охотника не требуется. Режим "привязан" к дизайну конкретных сайтов и/или отдельных страниц. Созданные динамические CSS-правила не являются глобальными фильтрами. Тем не менее, можно в любой момент перенести эти правила в пользовательские фильтры для их "глобального" применения. В этом случае правила "охотника" попадают в ваши частные правила фильтрации, управлять которыми можно в соответствующем разделе Настроек. Оперативно изменить текущие правила для конкретной страницы или сайта можно непосредственно в окне попапа. Полное управление всеми созданными CSS-фильтрами доступно в соответствующем блоке Настроек x.Block'а, включая правку/удаление любых правил по доменам, а также экспорт и импорт всех частных правил фильтрации через файлы в формате *.json. Следует понимать, что любая CSS-фильтрация не приводит к сокращению трафика в целом, так как работает только за счёт принудительного скрытия отдельных элементов страниц посредством установки соответствующих атрибутов для "лишних" элементов дизайна, не запрещая при этом их загрузку. Тем не менее, в x.Block'е возможна реальная блокировка загрузки таких элементов, если выставлена соответствующая опция в блоке "Оптимизация контента" ("Удалять из HTML-кода страницы все заблокированные элементы вместо их скрытия"). При включении этой опции все отфильтрованные элементы автоматически удаляются скриптом-инжектором на этапе загрузки страницы. Это реально позволяет сократить трафик, поскольку удаление "ненужного" html-кода предотвращает его последующую загрузку. Естественно, некоторая часть "зачищенного" может браться из кэша, но и эти элементы будут в любом случае удалены (или, как минимум, скрыты, если опция выключена). Перенос правил AD-охотника в список "своих" фильтровВ режиме снятия фильтров AD-охотника можно перенести любой из фильтров в статические правила блокировки. Для этого в режиме восстановления следует зажать ALT при щелчке на любом "красном" элементе (есть подсказка). Этот элемент (CSS) убирается из динамических правил охотника и добавляется в частные правила пользователя. Щелчок на любом НЕ-скрытом элементе в этом режиме абсолютно безопасен – никаких действий не производится. Удаление перемещённых элементов из правил (или отключение их блокировки) с этого момента доступно только в Настройках – в блоке "Частные правила блокировки". Общий смысл переноса – установка "глобально действующих" правил для типовых нежелательных элементов, присутствующих на разных сайтах. Кроме того, это обеспечивает большее удобство управления такими правилами (включение/отключение "в один клик" в списке пользовательских фильтров). Ну и наконец, для лучшего понимания "как оно у него внутри", заострим внимание на том… Зачем и когда нужен "переключатель прицела" AD-охотникаУ настоящего "стрелка" должна быть "под рукой" разная "оснастка" – заранее ведь не известно, с каким "зверюгой" придётся столкнуться "на охоте", вот и приходится брать и "обычную оптику" и "ИК" до кучи, чтоб наверняка…)) Так и у AD-охотника – есть два отдельных способа "выцеливания", технически они отличаются только методом отслеживания Использование двух противоположных методов не является "глупой прихотью автора", это связано с В таких случаях единственный метод "отстрела", имевшийся у "старины Хелпера", уже не работает, поэтому в более Кроме того, если для борьбы с Итак, конкретных рекомендаций, когда именно применять тот или иной метод "прицеливания", нет и быть не может – всё обусловлено только конкретным веб-сайтом и способами его "типа защиты". Плюс, как уже сказано, зависит ещё и от других настроек x.Block'а. Но в любом случае – если не получается выделить одним способом, заменяем "прицел" и повторяем процесс "отстрела"…)) На этом по нашему "ворошиловскому стрелку" всё. Надеюсь, теперь большинство вопросов по его применению сняты. Доброй охоты вам! :) Ссылки для интересующихся
| ||||||||||
Бармалей 28.05.2019 11.01.2021 296 Общие технические сведения о разработке
|
Всего комментариев: 1 |
0
|