Boosty Image URL Cleaner

Удаление параметров mw и mh из ссылок на изображения на Boosty, если не указано "&croped", позволяет загружать изображения-превью в оригинальном разрешении

这些是此脚本变更过代码的版本。 显示所有版本。

  • v1.11 2025-10-28
  • v1.1 2025-10-28

    1. Главное функциональное изменение (Логика)

    • v1.0 (Старая): "Глупо" удаляла параметры mw и mh из всех URL-адресов изображений.
    • v1.1 (Новая): Теперь скрипт умный. Он проверяет URL, и если находит в нем &croped (или croped=), он не трогает mw и mh, так как эти параметры необходимы для кадрированных изображений (например, аватарок в шапке).

    2. Производительность и эффективность

    А. Кэширование URL

    • v1.0: Каждый раз, когда скрипт видел URL, он заново его парсил и обрабатывал. Если на странице 100 одинаковых аватарок, он 100 раз выполнял одну и ту же работу.
    • v1.1: Использует Map (кэш). URL обрабатывается только один раз. При всех последующих встречах того же URL (например, в комментариях) очищенная версия берется из кэша мгновенно.

    Б. Обработка DOM (MutationObserver)

    • v1.0: Работал крайне неэффективно. При любом добавлении контента на страницу (прокрутка ленты, открытие комментариев) он запускал ПОЛНЫЙ ПЕРЕСКАН ВСЕХ <img> тегов на ВСЕЙ странице. Это вызывало лаги.
    • v1.1: Работает хирургически.
      1. Помечает уже обработанные изображения (data-cleaned="true").
      2. MutationObserver теперь отслеживает только новые добавленные узлы.
      3. Он обрабатывает либо сам добавленный <img>, либо ищет <img> только внутри нового добавленного блока (<div>), используя селектор :not([data-cleaned="true"]), чтобы не трогать старые.

    В. Инициализация

    • v1.0: Ждал полной загрузки страницы (window.addEventListener('load', ...)), что могло занимать много времени.
    • v1.1: Запускается немедленно при старте скрипта. Он один раз обрабатывает картинки, которые уже есть на странице, и сразу же начинает следить за новыми.

    3. Метаданные (Шапка UserScript)

    • @version обновлен с 1.0 до 1.1.
    • @description обновлено, чтобы отразить новую логику (...если не указано "&croped").
    • @namespace удален (согласно вашим инструкциям).
    • @grant none добавлен (хорошая практика для скриптов, не требующих специальных API).
  • v1.0 2024-07-25
  • v1.0 2024-07-24