Как заблокировать элементы HTML по тексту, который они содержат?

776
Anton Tarasenko

Я ищу способ скрыть определенные фрагменты текста в браузере - все эти новости о модных словах дня. Идея состоит в том, чтобы скрыть элементы HTML, внутренний текст которых содержит определенные ключевые слова.

Я написал игрушечное расширение Chrome, которое скрывает текст, содержащий слова из закрытого списка. Сейчас я ищу более обширное решение, которое поддерживает добавление / удаление слов и, возможно, более разумную фильтрацию.

Я не нашел расширение Chrome, как это.

Теперь у меня есть обычные подозреваемые. AdBlock и uBlock. Они удаляют рекламу по URL. Могут ли они скрывать элементы по внутреннему тексту?

Или, может быть, существуют лучшие решения?

0

2 ответа на вопрос

1
greiner

Я думаю, что jdwolf хотел сослаться на :-abp-contains()это, вот пример фильтра, который на example.com скрывает элемент <foo class="bar">, содержащий текст baz:

example.com#?#foo.bar:-abp-contains(baz)

Вы можете найти больше примеров в EasyList, выполнив поиск :-abp-contains(. Я также создал заявку (см. № 6069 ) на создание официальной документации по этой функции по адресу adblockplus.org/filters .

0
Anton Tarasenko

CustomBlocker

Не uBlock, но он утверждает, что скрывает объекты с ключевыми словами:

  • Блокировать твиты с конкретными хэштегами, URL или ключевыми словами в Twitter
  • Скрыть твиты, опубликованные определенными приложениями в Twitter
  • Приглушенные отзывы, написанные конкретными пользователями на Amazon или других сайтах покупок
  • Блокировать комментарии, содержащие неприятные или оскорбительные слова или теги на Facebook
  • Удалить результаты определенных доменов из результатов поиска Google
  • Фильтрация видео по заголовкам на YouTube
  • Сделать рекламу невидимой, даже если она отображается в стилях "нормальных" постов

Похожие вопросы