Link Checker RU : 2019.10.3
Опубликовано: Бармалей · 03.10.2019 · 00:01 ••• Обновление: 08.04.2021 · 21:11 0

Базовая версия для отработки основного функционала.
Доработка исходного расширения версии 1.0.5 от 28.08.2014.

Проверено в браузерах SRWare Iron 29/31/49 и 360 Extreme Explorer 9 (CR69).


Основные изменения:
  • оптимизация JS/CSS для работы на любых версиях хром-браузеров;
    …неподдерживаемые в "старых" браузерах функции/стили заменены на аналоги;
  • из кода полностью вырезана вся гуглоаналитика и сбор статистики;
    …также удалены ссылки на гуглозин и предложения "заценить"… :)
  • удалена синхронизация с гугло-аккаунтом, аддон работает полностью автономно;
    …локальное хранилище также не используется;
  • основная кнопка вызова пересажена с тулбара на омнибокс;
    …используется API pageAction, в версиях 6х+ – без разницы, кнопка только на тулбаре;
  • удалён интерфейс всплывающих окон, нет никаких сохраняемых настроек;
    …все действия – только в пределах текущей вкладки:
  • удалены файлы и скрипты страниц настроек и описания изменений;
    …а также соответствующие CSS/JS, картинки и библиотека JQuery;
  • положение перемещаемого блока статистики проверки теперь не сохраняется;
    …запоминается только до перезагрузки страницы);
  • выбор метода XHR-запросов ('HEAD'/'GET') отсутствует;
    …при групповой проверке используется 'HEAD', при "поштучной" – 'GET';
  • добавлена функция "пакетной" перепроверки ссылки с ошибками, вызывается кнопкой в соответствующем списке* ссылок;
    при этом также используется метод 'GET', дающий более корректный результат (как при ручной проверке одиночных ссылок);
    * список ссылок, прошедших пакетную проверку, вызывается щелчком по соответствующему полю счётчика в блоке результатов;
  • оптимизация кода скриптов, часть функций переделана с целью повышения быстродействия и снижения потребления памяти:
    • упрощён основной фоновый процесс, удалены все лишние функции (работа с локальным хранилищем, уведомления и пр.);
    • сделана автовыгрузка фонового скрипта в покое + быстрая автовыгрузка после запуска анализатора ссылок;
    • изменена привязка меню (и кнопки в омнибоксе) к "допустимым" для обработки страницам (только http(s)/file);
    • изменена структура контекстного меню – добавлен пункт "Проверить все ссылки", дублирующий кнопку в омнибоксе;
    • упрощён основной контент-скрипт, удалены лишние функции/переменные, определения переменных вынесены в аргументы функций;
    • в контент-скрипт добавлен пре-фильтр* ссылок, снижающий объём "пакетных" проверок (уменьшает общее время проверки);
      * исключает из обработки ссылки, проверка которых бессмысленна (скриптовые, локальные, служебные, почтовые, якоря и т.п.);
    • в функцию запуска XHR-запроса добавлен таймаут (15 секунд) во избежание "подвисания" запросов при проверках;
    • в функцию запуска XHR-запроса добавлен "микро-хак" для уменьшения проблем с запросами при смешанном содержимом (https/http):
      работает только при пакетных проверках с учётом протоколов текущей страницы и проверяемых ссылок;
  • доработан интерфейс вывода результатов проверки, поправлены отдельные стили и допилена логика обработки действий с элементами;
  • исправлен баг оригинала – некорректное отображение счётчиков проверенных ссылок при последующих "поштучных" проверках ссылок;
  • в функцию запуска XHR-запроса добавлена обработка ошибок запроса (с выводом подсказки о просмотре в консоли);
  • изменён манифест, удалены лишние разрешения, удалено использование горячей клавиши запуска групповой проверки ссылок;
  • сделан полноценный перевод на русский язык (единственная локализация, зашита в код);
  • несмотря на общую простоту интерфейса, к отдельным элементам добавлены всплывающие подсказки.
Прочие изменения:
  • заменена основная иконка расширения (источник) и удалены все прочие иконки;
  • из комплекта удалены все лишние файлы, объём аддона уменьшен в 6 раз.

Скриншоты:

Общий вид страницы с результатами проверки всех ссылок:

[Копия скриншота]

Кнопка перепроверки группы ссылок:

[Копия скриншота]


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

Общие технические сведения
  • Технологии и API:
    Чистый JavaScript (ES5), API: content-script, tabs, contextMenus, declarativeContent, pageAction
  • Запрашиваемые разрешения:
    [ "http://*/*", "https://*/*", "ftp://*/*", "file:///*/*", "contextMenus", "declarativeContent" ]

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

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

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

Поделиться

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