Видел проект по созданию некоторого фильтра для страниц в интернете. Типа "не хочу видеть новости про политику", ввожу слово "политика" и получаю на том же Яндексе почти пустую страницу.
Теперь найти не могу. Необязательно именно тот проект - важен сам принцип подобного.
Может кто знает, как это можно сделать ?
P.S. Совершенно не помню, был ли это плагин к браузеру или еще что. А может и просто приснилось.
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
Не, я не про это. Просто, захожу на любой сайт (в оригинале вроде было за поисковики) и не вижу блоков текста с вариантами текста "политика". Я не хочу что-то не то, что бы искать, я не хочу это видеть вообще. Никогда.
Хотя, может мне такое и приснилось...
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
дополнение foxreplace может делать замену по регулярной маске. Логично, что можно настроить его на замену текста целыми предложениями на пустое поле.
Жуть... Надеюсь, вы это не для себя делаете.
Для себя.
Допустим, я плохо реагирую на многие вещи, типа политики, убийств и некоторых других. Сильно портится настроение.
Поэтому, хотелось бы этого просто не видеть. Причем, желательно, как то сделать так, чтобы страница не "поехала" от изменений.
Дополнение я посмотрю, конечно. Спасибо.
Но, хотелось бы понять принцип, как именно можно такое сделать.
P.S. У каждого свои тараканы в голове.
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
devilr
Идеально, как обычно, невозможно. Если блоки внешние, вроде рекламы, то можно что-то вроде AdBlock только реагировать не на URL, а не содержимое. Ну, а если идёт текст, а там внезапно абзац про политику и убийства... гарантировать, что ничего не поедет сложно. Но всё равно можно. Берём DOM, ищем стоп-слова, удаляем блоки (например, div и p), которые содержат эти слова. Готово, страницу раскорячило :)
захожу на любой сайт (в оригинале вроде было за поисковики) и не вижу блоков текста с вариантами текста "политика".
А может, просто последовать рекомендации знаменитого некогда рукопашника Нила Ознобишина? И не шляться ночами по улицам, пользующимся дурной репутацией? То есть - не заходить на такие сайты?
Я вот - не захожу, и прекрасно себя чувствую... Заодно и всякой разной другой дряни не вижу, не только политики.
devilr
Идеально, как обычно, невозможно. Если блоки внешние, вроде рекламы, то можно что-то вроде AdBlock только реагировать не на URL, а не содержимое. Ну, а если идёт текст, а там внезапно абзац про политику и убийства... гарантировать, что ничего не поедет сложно. Но всё равно можно. Берём DOM, ищем стоп-слова, удаляем блоки (например, div и p), которые содержат эти слова. Готово, страницу раскорячило
Именно на содержимое. Кстати, чтобы страницу "не раскорячило" можно в нужных блоках выставить одинаковые цвета. Или, как-то, заменять все символы в блоке на какие-то другие с таким же размером. Но, это явно сложнее...
Мудрость приходит с возрастом.
Иногда возраст приходит один. Эхо разума
Видел проект по созданию некоторого фильтра для страниц в интернете...
P.S. Совершенно не помню, был ли это плагин к браузеру или еще что. А может и просто приснилось.
В первом приближении можно вообще что-то такое использовать: for(el of document.getElementsByTagName("*")) { if (Array.from(el.childNodes).some((n) => n.nodeType === Node.TEXT_NODE && n.data.includes('политик'))) { el.style.setProperty('color', 'transparent'); } }
Но оно убирает наименьший елемент, который включает текст, т.е. может скрыть пол абзаца, если есть выделение, например, курсивом. Лучше будет проверять по p и div, и проверять рекурсивно по другим елементам вроде span, b/strong и т.д.
И может быть лучше не color: transparent (скрывает текст, оставляет картинки и фон), а visibility: hidden (полностью блок) ставить.