Текст в ссылку : 2020.10.20
Опубликовано: Бармалей · 20.10.2020 · 00:01 ••• Обновление: 08.04.2021 · 08:48 0

Фикс проблемы преобразователя в браузерах версий 81+.
Доработка и оптимизация кода, добавлены новые функции.

Проверка работоспособности: SRWare Iron 31/49 + 360 Extreme Explorer 9/11/12/13 (CR-63/69/78/86).


Основные изменения:
  • исправлена застарелая ошибка установки настроек по умолчанию при первой инсталляции:
    приводила к некорректной обработке текста любых страниц до первого входа в Настройки;
    для устранения бага немного изменён процесс установки/обновления расширения:
    • исправлена и доработана логика начальной автопроверки/автоустановки параметров;
    • при обновлении "подхватываются" уже имеющиеся настройки + устанавливаются/добавляются отсутствующие со значениями по умолчанию;
    • сообщение об успешности проверки/установки настроек + запрос на переход на страницу Настроек;
    • попутно добавлена проверка состояния собственного локального хранилища и его автоустановка при ошибках:
      запускается при каждом старте браузера или при включении выключенного аддона;
      фоновый скрипт работает только* в момент запуска/обновления расширения;
      * по завершению производится быстрая выгрузка, в дальнейшем память не ест; :)
  • исправлена проблема обработки любых текстовых ссылок в браузерах версий 81+:
    • связана с изменениями в работе движка браузера, проявляется только в версиях 81 и новее;
    • основная проблема возникала со специфическими ссылками (magnet: about: bitcoin: и т.п.), решено доработкой кода оператора поиска и проверки текстовых узлов документа;
    • добавлена дополнительная автоматическая проверка версии браузера и автоматическая подстройка регулярных выражений поиска и конвертации в зависимости от полученной версии;
    • результат тестовых проверок в обоих случаях (старый/новый движок) теперь полностью совпадает; :)
  • добавлено дополнительное условие проверки для лучшей очистки и выпрямления "мусорных" ссылок;
  • добавлена ещё одна "антиследящая" опция – установка атрибута [rel="noopener"]:
    • добавлена соответствующая "галка" в настройках – опция "Скрыть текущий URL";
    • опция может устанавливаться независимо или в паре с уже имевшейся опцией "Отключить реферрер";
  • изменено значение части настроек по умолчанию (при первой установке или при полном сбросе):
    • опции "Декодер текста" и "Нормализация" теперь по умолчанию включены;
    • по умолчанию теперь выключены только специфические опции "Без ошибок" и "Лог в консоли";
  • изменено содержание и стилевое оформление вкладки "О расширении", добавлены дополнительные ссылки и поля:
    • переделана кнопка-иконка, другой CSS-эффект + замена ссылки с поста на Ru-Board'е на "Паспорт аддона";
    • поправлены/добавлены ссылки на ресурсы прототипов форка (Text URL Linker и "чистильщик" Pure URL);
    • добавлена ссылка на эту статью – щелчок по номеру текущей версии в заголовке вкладки;
    • добавлены ссылки на документацию, описание аварийного сброса и на историю версий (см. скриншот);
    • удалена нерабочая ссылка из блока страниц-примеров, остальные три ссылки заменены на короткие;
    • стал кликабелен баннер "Сделано в СССР", появляется при маусовере на логотипе GPLv3. :)
Прочие изменения:
  • немного оптимизирован код всех скриптов, упрощена часть функций, удалена часть промежуточных переменных.

Скриншоты:

Вкладка основных Настроек:

Вкладка краткого описания и Справки:


История и обсуждение

Решпекты и пиво:
  • Камраду FiLinX за подсказку по "скрытой" ошибке при установке "с нуля".
  • Камраду AkulaBig за подъём проблемы неработоспособности сабжа на относительно новых движках.
  • Камраду Tilks за наводку на решение проблемы с версиями 81+ и активное участие в проверках.

Общие технические сведения
  • Технологии и API:
    Чистый JavaScript (ES5). API: content-script
  • Запрашиваемые разрешения:
    Общие: [ "storage" ], контент-скрипт [<"all_urls">]

Загрузка и установка

Дополнительно

Официальные версии Документация
Бармалей 20.10.2020 08.04.2021 61 0.0

Поделиться

Всего комментариев: 0
close