Get CRX RU : Линейка CWS JS Mod
Опубликовано: Бармалей · 06.07.2021 · 00:01 ••• Обновление: 01.09.2021 · 08:18 0

Линейка Get CRX RU : CWS JS Mod – автономный пользовательский скрипт ("JS" в названии), является упрощённым "ответвлением" семейства аддонов Get CRX RU, содержит базовую функцию загрузчика и некоторые сервисные функции. Добавка "CWS" указывает на то, что скрипт работает только на страницах репозитория Chrome WebStore. Управление и вызов всех функций осуществляется через кнопку, встраиваемую на страницы CWS.

В этой статье:


Причины создания и краткая история разработки

Упрощённая JS-версия разработана в связи с отсутствием в "нашей коллекции" простых и удобных инструментов для загрузки файлов аддонов из Chrome WebStore в других браузерах (не‑хромых)). Скрипт может быть востребован в случаях если хромоноги не являются у пользователя основным браузером, но есть необходимость загрузки, сохранения или изучения дополнений, размещённых в CWS (пример обсуждения на форуме Ru-Board).

Первая версия этой линейки была выпущена в июле 2021 года и ни в коей мере не является "конкурентом" основному аддону проекта Get CRX RU и позиционируется в качестве альтернативы для пользователей любых не‑хромбраузеров.

Прототипом этой линейки можно считать достаточно старый аналогичный скрипт, CRX Downloader, не работающий в текущей версии Chrome WebStore. Из этого скрипта заимствована только общая идея инжектирования кнопки загрузчика на страницу репозитория, сама реализация функции этой кнопки в "русском форке" полностью изменена и код этой линейки переписан, фактически, "с нуля".

Базовый функционал аналогичен любой линейке Get CRX (скачивание CRX-файлов по прямым ссылкам на них), разница для пользователя – нет горячих клавиш вызова, кнопок в омнибоксе или на тулбаре или контекстного меню, в этой линейке единственный способ вызова – через встраиваемую кнопку на страницах репозитория CWS.

С технической точки зрения в этой линейке НЕ применяются никакие специфичные API, связанные с конкретными типами браузеров, всё работает только за счёт стандартных функций JavaScript (ES5), проще говоря – эта линейка является универсальным кроссбраузерным решением.


Основные возможности и способ применения

CWS JS Мod можно использовать на любой версии ES5-браузера, практических ограничений по версиям нет (29+).
Настроек нет, единственный способ вызова загрузчика и других действий – только встраиваемая кнопка.

Скрипт может быть установлен нативно (если поддерживается, как в Chromium'ах), либо с помощью любого подходящего менеджера скриптов (GreaseMonkey, TamperMonkey, ViolentMonkey и другие подобные):

Особенности этой линейки и отличия от других вариаций проекта "Get CRX RU":

  • универсальность и кроссбраузерность, может работать на любых ES5-совместимых не‑хромбраузерах;
  • есть только базовая функция загрузки CRX-файлов по прямым ссылкам и только со страниц CWS;
  • не создаётся полное имя файла, нет файла описания загрузки (как и в первых версиях "классики");
  • изменён метод обработки на непосредственное инжектирование кода в саму просматриваемую страницу;
  • встраиваемая кнопка загрузчика создаётся только на страницах репозитория Chrome WebStore;

    При этом для любых не‑хромбраузеров скрипт замещает штатную кнопку:

    на собственную кнопку загрузчика (с дополнительным функционалом):

    Зачем/почему так – всё равно в этих браузерах штатная бесполезна… :)

  • не работает в Chromium-браузерах из-за "огороженности" в них доступа к сайту Chrome WebStore;

    Принципиально скрипт может работать и в любом Chromium'е, если запустить его вручную на странице Chrome WebStore (например, в консоли). При этом рядом со штатной кнопкой установки создаётся ещё одна:

    Функционал её полностью идентичен во всех браузерах, отличие только в дизайне.
    Всё бы хорошо, но, исходя из известной "огороженности хромых" по отношению к гуглозину, удобство ручного применения скрипта при этом минимально и именно поэтому выше и оговаривается – "для не‑хромбраузеров".

  • настроек, как уже сказано, нет никаких, но у кнопки есть дополнительные* функции:

    * Указаны для текущей версии скрипта, могут отличаться или отсутствовать в более ранних.

    • три перехода по щелчкам мыши по кнопке загрузчика с зажатием управляющих клавиш:
      • в архив текущего аддона на сайте crx4chrome.com (если он есть, "Alt+ЛКМ");
      • в онлайн-просмотрщик исходного кода (Rob Wu CRX-viewer, "Ctrl+ЛКМ");
      • на страницу общего описания этого скрипта (как раз её вы сейчас читаете, "Shift+ЛКМ");
      • на страницу баг-трекера этого скрипта ("Alt+ПКМ");
    • для удобства пользования все дополнительные функции кратко перечислены в подсказке к кнопке;
  • также есть функция ручного сохранения CRX-файла (через контекстное меню, ПКМ + "Сохранить как");

    Вот так в любых не‑хромбраузерах:

    И вот так в любых хромоногах (при ручном инжекте):

    Функция временно включает/выключает атрибут ссылки у кнопки, сделано чисто для красоты, чтобы с строке состояния не маячила длинная "колбаса" прямого URL на файл… :)

  • языки интерфейса, подсказки и описания скрипта – русский и английский, переключаются* автоматически.

    * По текущему предпочтительному языку браузера, английский включается для всех локалей кроме русской.


Известные эксплуатационные проблемы

  • Не создаётся имя файла по названию расширения на текущей странице.
    Атрибут "download" для ссылки скриптом устанавливается, причина его необработки браузерами неизвестна.
    Решение: на текущий момент отсутствует, при необходимости используйте функцию сохранения через контекстное меню, предварительно скопировав название аддона вручную.
  • Нет автоматического получения правильного (авторского) номера версии дополнения.
    Связано с упрощённой работой скрипта, версия файла присваивается автоматически, по правилам гуглозина.
    Решение: на текущий момент отсутствует, при необходимости версию скачиваемого файла можно указать вручную при сохранении, посмотрев её в блоке сведений о дополнении на самой странице репозитория.
  • Кнопка не всегда появляется при переходах в пределах одной вкладки (в новых вкладках проблемы обычно нет).
    Связано с механизмом обновления контента страницы в CWS (выполнение перехода без перезагрузки страницы).
    Все доступные простые проверки изменения URL в скрипте есть, гарантированное определение изменения содержимого связано с излишним усложнением кода и в текущей версии скрипта не предусмотрено.
    Решение: в качестве оперативного решения либо выполните переход назад-вперёд, либо просто обновите текущую страницу и кнопка загрузчика отрисуется корректно.
  • При попытке вызова дополнительных функций при щелчке по кнопке происходит блокирование переходов.
    Связано с механизмом блокировки всплывающих окон в браузере (например, в Firefox) и зависит от настроек.

    Решение: можно либо вручную разрешить переход, щёлкнув по соответствующей строке в панели предупреждений, либо изменить настройки браузера, добавив CWS в исключения:

    т.е. просто подтвердить исключение и сохранить настройки:

Вопросы текущей технической поддержки и решения эксплуатационных проблем по отдельным версиям скрипта рассматриваются в комментариях к статье Get CRX RU : CWS JS Mod : Проблемы и решения.


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

Скрипт не имеет практических ограничений по версии браузера, может использоваться на любых не‑хромбраузерах, совместимых со стандартом JavaScript ES5. Однако, с учётом различных "новшеств", вводимых производителями браузеров, желательно ознакомиться с документацией на конкретный билд, который планируется установить.

Можно загрузить любую из версий Get CRX RU : CWS JS Mod на следующих ресурсах:

Настоятельно рекомендуется использовать текущую стабильную версию скрипта.
Более ранние выпуски можно устанавливать только в исследовательских целях для сравнительного анализа функций и возможностей аддона. Авторская поддержка устаревших версий не осуществляется, претензии по возможным проблемам их эксплуатации не рассматриваются.

Аддон является обычным пользовательским скриптом (User.JS) и может быть установлен в любой ES5‑совместимый браузер либо нативно (если поддерживается, как в Chromium'ах), либо с помощью любого подходящего менеджера скриптов (GreaseMonkey, TamperMonkey, ViolentMonkey и другие подобные).

Для работы в режиме "инкогнито" в блоке аддона на странице chrome://extensions включаем опцию:
[читать матчасть]



Описание и инструкции Бармалей

Смотрим также:

Бармалей 06.07.2021 01.09.2021 434 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский, Английский
Версия браузера:29+
Протестировано в:Firefox 52ESR + SRWare Iron 49 (прямая инжекция кода)
Технологии и API:Чистый JavaScript (ES5), API: eventListener, HTML DOM builder

Поделиться

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