Мелкие неудобства на любимых сайтах могут изрядно портить настроение — особенно если сталкиваешься с ними ежедневно. По себе знаю: меня больше всего раздражало, что Reddit по умолчанию всегда сортирует посты по “лучшим”. К счастью, немного терпения и одно простое расширение полностью решают эту проблему.
В чём вообще подвох?
Я долго не решался, но недавно всё-таки перешёл на “новый” Reddit. Интерфейс оказался вполне достойным, даже приятнее, чем ожидал. Но одна мелочь откровенно бесила — порядок показа постов.
На главной и в каждом сабреддите публикации всегда отображаются по принципу “Лучшие”. Как этот критерий работает — неясно, и, как любые алгоритмы “Для вас” в X (Twitter) или рекомендации YouTube, такое больше про навязывание контента, чем про то, что действительно нужно. Я даже не скажу, сколько раз кликал на интересный заголовок и обнаруживал, что посту уже несколько недель или даже месяцев.
Даже если вовремя замечаешь не тот порядок, приходится делать пару лишних кликов, чтобы переключиться на “Новые” — и настроение уже не то. Но теперь это осталось в прошлом, и расскажу, как я с этим справился.
5 причин забыть про “Для вас” во всех соцсетях
Что там вообще для меня?
Как привести ленту Reddit в порядок
Если хоть немного знакомы с JavaScript, вы наверняка догадываетесь, как здесь можно выкрутиться. На этом языке легко менять функционал сайта, цвета, шрифты и даже прятать ненужные элементы. Чтобы сделать такое изменение общедоступным, потребовался бы доступ к “внутренностям” сайта, но для себя всё можно быстро настроить в браузере.
Самое главное — установить расширение, которое позволяет запускать ваш JavaScript-код на выбранных сайтах. Я выбрал Tampermonkey — оно отлично работает в Chrome.
Аналогичный функционал есть почти во всех браузерах — встроенно или через сторонние дополнения. Tampermonkey поддерживает Chrome, Edge, Safari и Firefox — универсальный вариант, смело советую именно его.
Скачайте Tampermonkey для своего браузера — я использовал версию для Chrome.
Как установить и настроить расширения в Chrome
Установить и управлять расширениями в Chrome просто — главное знать пару хитростей.
После установки и запуска откройте меню расширения и выберите “Создать новый скрипт”. Откроется окошко с шаблоном кода:
Не переживайте по поводу лишних строчек — в основном это комментарии, на работу скрипта они не влияют. Главное, чтобы строка “@match” выглядела вот так:
Это говорит Tampermonkey, что скрипт должен запускаться только на Reddit. “*” — универсальный символ: так скрипт работает на всех страницах, но внутри кода есть проверка, чтобы задействовать его только там, где нужно.
Теперь — сам скрипт. Просто замените им строку “// Your code here...”:
В детали можно не вникать, но я поясню общий принцип.
Основную работу выполняет функция checkURL: она проверяет — если после домена только один слэш, значит вы на главной. В этом случае вызывается window.location.replace() с добавлением “new” в адрес, и вуаля: лента сортируется по свежим публикациям, а не по “лучшим”, как раньше.
Остаток кода нужен, чтобы проверка выполнялась регулярно, два раза в секунду. В идеале хватило бы обработать загрузку или смену адреса, но Reddit работает специфично, и здесь сложно иначе. Пусть это и “грубой силой”, но скрипт настолько лёгкий, что на быстродействие влияет минимально.
Сохраняете скрипт, закрываете вкладку Tampermonkey, и открываете Reddit — больше никакой раздражающей сортировки “Лучшие”, сразу попадаете на “Новые”. Лента — как с чистого листа!
Что ещё можно улучшить с помощью скрипта?
Чтобы ваш скрипт работал не только на главной, но и в сабреддитах, менять почти ничего не придётся — понадобится всего одно новое условие для функции checkURL:
Здесь чуть сложнее: нужен шаблон, который подходит ко многим разным адресам сразу, а не конкретному URL. Помогает функция window.location.pathname.match() с регулярным выражением. Суть в том, что этот шаблон находит адреса вида “/r/[название_сабреддита]/” и добавляет в конце “new/”. Всё весьма явно.
А как работает Regex вообще?
Регулярные выражения — мощный инструмент для поиска, замены и проверки строк любой сложности.
С созданием такого расширения любые “капризы” сайтов становятся решаемыми, если уделить немного времени JavaScript. С Tampermonkey (или аналогичными расширениями) легко убрать лишние блоки, перестроить навигацию, включить агрессивный тёмный режим, отключить автовоспроизведение видео — возможностей масса.
Единственное ограничение тут — архитектура самого сайта. Например, в X (Twitter) вкладки “Для вас” и “Подписки” используют один адрес — и тут придётся потрудиться. Зато на YouTube для главной и подписок адреса разные, и настройки делаются проще.
В общем, немного экспериментов и терпения — и вы сделаете ленту удобной именно для себя!
6 крутых JavaScript-скриптов для любой страницы
Упростите себе жизнь на сайте парой строчек кода.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru