Вопрос или проблема
Я хочу автоматически удалять все теги видео на всех сайтах, кроме некоторых. Но приведенное ниже правило, похоже, не работает (Ошибка: Недопустимый синтаксис).
В “Мои фильтры” в uBlock Origin для Firefox:
*##video:close(),domain=~except-this-site.com|~except-this-site2.com
Как я могу исключить определенные сайты из применения Косметической фильтрации?
Я задал тот же вопрос на Reddit uBlock Origin, и вот ответ:
*,~abc.net,~xyz.com##video:remove()
Если есть несколько тегов для скрытия, можно использовать:
*,~abc.net,~xyz.com##video video-js
Это не возможно соединять несколько процедурных селекторов в один фильтр (Процедурные косметические фильтры). Например, example.com##p:has(img),div:has-text(advert)
не работает.
Однако, есть другой подход:
*,~abc.net,~xyz.com##video, video-js:remove()
:remove()
удалит элемент в DOM.
Ответ или решение
uBlock Origin — это одна из самых популярных и мощных дополнений для блокировки рекламы и уменьшения нежелательного контента в браузерах. Одной из полезных функций uBlock Origin является возможность создания косметических фильтров, которые позволяют пользователям скрывать определенные элементы на веб-страницах. Вопрос, который мы рассматриваем, сосредоточен на том, как применить такие фильтры ко всем сайтам за исключением некоторых.
Теория
Косметические фильтры в uBlock Origin предназначены для изменения внешнего вида веб-страниц, скрывая или удаляя отдельные элементы DOM (Document Object Model). Эти фильтры позволяют пользователям манипулировать отображением страниц на основе их нужд и предпочтений, предоставляя более комфортный пользовательский опыт. "Косметические" в данном контексте означает, что изменения влияют только на визуальное представление страниц без изменения их функциональности.
В uBlock Origin доступно несколько типов селекторов для создания этих фильтров, такие как простые селекторы CSS и процедурные селекторы. Процедурные селекторы предлагают более мощный функционал, позволяя фильтровать элементы на базе более сложных критериев, таких как наличие определенного текста или структуры дочерних элементов.
Пример
В рассматриваемом вами случае, задача состоит в автоматическом удалении всех <video>
тегов на всех веб-сайтах, за исключением определенных. Изначально предложенная вами строка:
*##video:close(),domain=~except-this-site.com|~except-this-site2.com
имеет синтаксическую ошибку, поэтому не работает. Правильный синтаксис для достижения данной цели приведен в ответе с Reddit:
*,~abc.net,~xyz.com##video:remove()
Здесь выражение *,~abc.net,~xyz.com##video:remove()
говорит о следующем:
*
— применить фильтр ко всем сайтам.~abc.net,~xyz.com
— исключить из фильтрации сайты abc.net и xyz.com.##video:remove()
— удаляет элементы<video>
из DOM всех оставшихся сайтов.
Применение
Основная задача заключается в том, чтобы настроить фильтры в "My filters" на панели управления uBlock Origin так, чтобы они соответствовали вашим потребностям. Для этого необходимо просто вставить приведенный выше код в конфигурацию фильтров uBlock Origin:
- Откройте панель управления uBlock Origin в вашем браузере.
- Перейдите на вкладку "My filters" (Мои фильтры).
- Добавьте новый фильтр, вставив выражение
*,~abc.net,~xyz.com##video:remove()
. - Нажмите "Apply changes" (Применить изменения), чтобы сохранить фильтр.
Этот метод позволит скрыть все элементы <video>
на всех сайтах, кроме указанных вами в исключениях. Такая функциональность может быть особенно полезна, если вы хотите избавиться от автопроигрывающихся видео или снизить потребление трафика.
Косметические фильтры в uBlock Origin по своей природе отлично подходят для персонализации контента. Имейте в виду, что процедуры с использованием селекторов могут не поддерживать сложные комбинации, как например многоступенчатые проверки через запятую. Каждую сложную фильтрацию стоит производить отдельными правилами. Например, при необходимости скрытия множества различных тегов и элементов, можно создать ряд отдельных фильтров, каждый из которых будет выполнять специфическую задачу.
Однако следует помнить, что чрезмерное использование таких специфических фильтров может замедлить работу вашего браузера, особенно при большом количестве одновременно работающих правил. Чтобы избежать подобных проблем, рекомендуется ограничивать количество активных фильтров и периодически проверять и обновлять их актуальность и необходимость.
Таким образом, с использованием правильно оформленных косметических фильтров вы можете настроить uBlock Origin таким образом, чтобы он полностью соответствовал вашим предпочтениям и привычкам веб-сёрфинга, исключая нежелательные элементы на одних сайтах и сохраняя их на других. Это позволяет более эффективно и удобно взаимодействовать с интернетом, адаптируя его под свои личные или профессиональные нужды.