Get CRX RU : Micro Plus : Context Menu Mod : 2021.10.6
Опубликовано: Бармалей · 06.10.2021 · 00:01 ••• Обновление: 06.10.2021 · 00:01 0

Доработка линейки Micro Plus : Context Menu Mod с расширенным функционалом.
Билд ветки только с контекстным меню страницы (без функций кнопок в омнибоксе и/или на тулбаре).
Вызов только из контекстного меню, другие методы не используются.

Доработка функционала линейки Micro Plus. Доработка и изменение интерфейса меню.
Оптимизация кода, повышена скорость работы загрузчика, новые сервисные функции.
Добавлены функции выполнения резервного копирования и восстановления настроек.
Добавлена проверка смены языковой локали для принудительного перестроения меню.

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

В браузерах версий CR29-47 ручные действия НЕ потребуются, если был включен режим принудительного* стартового перестроения меню (подменю "Сервисные функции и интерфейс", опция "Принудительное перестроение меню").

* Отсюда совет: даже если в вашей версии браузера НЕ требуется эта функция, вы можете временно включить её перед перезапуском браузера после смены языка локали. При этом перестроение меню будет сделано автоматически, после чего эту опцию можно снова отключить.

Проверка работоспособности: SRWare Iron 29/31/49, 360 Extreme Explorer 9/11/12/13 (CR63/69/78/86) и Chromium 87.

Версия может конфликтовать с другими менеджерами загрузок.

Эта версия предназначена для браузеров версий 31+, на более старых корректно работать НЕ будет!


При использовании расширенных опций на версиях браузера 81+ возможны проблемы с загрузкой!
Причины и некоторые способы решение этих проблем приведены в этом разделе документации.
По существу проблемы и методов решения читаем в статье Get CRX RU и Chromium CR‑81+ : Загрузка из CWS.


Основные изменения:
  • исправлен баг – в предыдущей версии некорректно работала опция "Открывать новые вкладки в фоне";

    Ошибка вкралась по невнимательности, при переделке функции построения меню, на общую работоспособность других функций загрузчика не влияла. Исправлено.

  • исправлен мелкий бажок при установке в режиме разработчика – при перезагрузке аддона в старых версиях браузеров постоянно выскакивало предупреждение о возможных проблемах с автосозданием меню (опция "Принудительное перестроение меню");

    Проявлялось только при установке в режиме разработчика. Ошибка вкралась при переделке функции определения режима разработчика, на работу других функций не влияла. Исправлено.

  • исправлен мелкий бажок с зачисткой ключей хранилища при установке некоторых опций по умолчанию;

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

  • исправлена логика переключения опций "Удалять концевой 0 из версии" и "Удалять все лишние 0 из версии";

    Теперь изменение этих параметров работает корректно (применимы только для репозитория Chrome WebStore).

  • добавлены новые функции для создания резервных копий и восстановления настроек расширения:

    Сделано по "просьбам трудящихся", экспорт и импорт производятся в формате JSON, через внешние файлы. Общий подход реализован как было описано в предварительном решении с дополнительной возможностью загрузки требуемого файла бэкапа для восстановления.

    • Вызов функций экспорта/импорта – через отдельный блок действий в группе опций "Сервисные функции и интерфейс", в меню добавлены 4 новых пункта, их назначение описано ниже.
    • "Сохранить и восстановить настройки" – вызов диалога для ручного ввода данных или для запуска всех остальных действий по работе с резервными копиями настроек.

      В диалоговом окне кратко описаны все варианты действий и некоторые пояснения по ним.

    • "Быстрое сохранение резервной копии" – автосохранение текущих настроек во внешний файл в один клик.

      Имя и папка размещения выбираются автоматически (файлы по умолчанию сохраняются в подпапке "backup" в вашей папке загрузок. Имя этой подпапки задано жёстко, если не устраивает – выбираем путь вручную в диалоге сохранении файла (в зависимости от настроек браузера диалог сохранения при этом может и не выводиться).

    • При совпадении сохранённых данных резервной копии с текущими настройками восстановление не производится, при этом выдаётся сообщение об идентичности данных.
    • "Восстановить из последнего бэкапа" – автозапуск восстановления настроек из последнего файла бэкапа.

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

    • "Применить рекомендуемые настройки" – быстрая установка наиболее комфортного набора настроек и опций для всех поддерживаемых репозиториев.

      Может быть применено при первой установке аддона или если вы не хотите разбираться с настройками детально, но хотите, чтобы "всё сразу стало красиво"… :)

    • При сохранении настроек в файл его имя автоматически задаётся уникальным (добавляется штамп текущего времени), вы можете изменить это имя по своему желанию перед сохранением файла.

      Из истории загрузок эти файлы также автоматически удаляются, если в настройках аддона у вас включена опция "Удалять загруженное из списка" (включена по умолчанию).

    • При сохранении текущих настроек в файл записываются только те параметры, которые отличаются от значений по умолчанию, независимо от того, меняли вы их ранее или нет.
    • Для импорта (восстановления) допустимы конечные данные только в формате JSON, либо их ручным вводом в виде строки сохранённых настроек, либо указанием файла, содержащего корректный формат данных (при ручном вводе пути обязательно следует указывать полный путь или прямой URL к файлу).
    • Перед импортом и установкой параметров из резервной копии она проверяется на валидность и отсутствие мусорных ключей, если структура бэкапа не соответствует набору ключей хранилища или содержит ошибки, восстановления из такой копии будет отменено с выдачей соответствующего сообщения.
    • В любом случае следует помнить, что при восстановлении настроек сохранённые в них опции перекроют ваши текущие настройки при их совпадении (т.е. если в бэкапе какой-то параметр сохранён как включенный, а в текущих настройках он выключен, после восстановления эта опция будет включена). При этом запрос на перезапись текущих параметров не выдаётся, проверка и изменения параметров выполняются полностью автоматически. Если же в бэкапе какой-либо параметр отсутствует (был установлен по умолчанию на момент сохранения копии), ваша текущая настройка не изменяется.
    • Кроме проблем с доступом к файлу резервной копии при его удалении или из-за неправильно заданного пути, сообщение об ошибке загрузки данных также будет выдано в случае, если у вас отключено разрешение на доступ к локальным файлам (соответствующая "галочка" в блоке аддона на странице chrome://extensions).
  • добавлены новые настройки и опции для упрощения процесса сохранения загружаемых файлов:

    Все вновь добавленные настройки опциональны, сделаны для повышения удобства работы с большим количеством загрузок, и для уменьшения числа подтверждений при сохранении загружаемых файлов. Теперь загрузка дополнений возможна в один клик вместо 3-5 в предыдущих версиях.

    • Изменения настроек в группе опций "Оперативные настройки загрузчика":
    • "Сохранять в папку" – теперь при указании общей папки для сохранения загрузок вместо пустого значения автоматически подставляется имя "GetCRX_Files", которое вы можете изменить по своему желанию.
    • "Сохранять в папку по репозиторию" – включает автоматическую раскладку файлов дополнений (и описаний к ним) по отдельным подпапкам в зависимости от репозитория, из которого загружается дополнение или скрипт (CWS, OAS, AMO и т.д.).

      Если в настройках также задана общая папка для загрузок, эти подпапки создаются в ней, если нет – подпапки автоматически создаются в корне вашей папки общих загрузок. Тоже самое относится и к специальной папке для хранения файлов резервных копий ваших настроек ("backup"). По умолчанию опция выключена.

    • "Задавать уникальные имена файлов" – автоматически проверяется наличие уже существующих файлов.

      При совпадении имён к имени загружаемого файла добавляется стандартое (1), (2) и т.д.. При этом будет изменено и имя файла описания, чтобы оно полностью соответствовало имени загруженного файла. Для этого также изменена и доработана функция загрузчика описаний, теперь имя файла описания всегда идентично имени загрузки. По умолчанию опция выключена, решение о перезаписи существующих файлов вы принимаете самостоятельно в диалогах подтверждения сохранения файлов ("старое" поведение, как во всех предыдущих версиях аддона).

    • "Подтверждать загрузку и сохранение" – работает (и отображается в настройках) только* для репозиториев семейства AMO (включая Thunderbird и т.д.).

      Если выключено – XPI-файлы скачиваются автоматически, без выдачи запроса сохранения. Если включено, в любом случае будет выдан диалог подтверждения сохранения файла. По умолчанию опция включена ("старое" поведение, как во всех предыдущих версиях аддона).

      * Связано с тем, что при отключении запроса на сохранение файлов в форматах CRX, JS, NEX и ZIP браузер пытается автоматически установить такие файлы как расширения. В большинстве браузеров при этом выдаются предупреждения о "невозможности установки с этого сайта" или иные "пугающие" сообщения.
      В общем, "полная автоматика" загрузок возможна только только для сайтов AMO…))

    • "Перезаписывать файлы без запроса" – также работает (и отображается в настройках) только* для репозиториев семейства AMO (включая Thunderbird и т.д.).

      Если выключено – XPI-файлы скачиваются либо с автоуникальными именами, либо выдаётся запрос на сохранение файлов. Если включено, в любом случае сохранение файлов происходит с перезаписью существующих без выдачи каких-либо запросов. По умолчанию опция выключена. Эта опция не будет работать, если включена предыдущая настройка (в этом случае вы всегда вручную подтверждаете и сохрание и перезапись). Эта опция также не будет работать, если включена настройка уникальных имён файлов (при этом опция перезаписи в принципе не имеет смысла, совпадающих имён при этом не будет).

      * Отключение подтверждения перезаписи файлов в форматах CRX, JS, NEX и ZIP не имеет смысла, эта настройка перекрывается необходимостью всегда выводить диалог сохранения для этих файлов (причина указана выше).
      Поэтому ещё раз скажу – "полная автоматика" возможна только для сайтов AMO…:)

    • В эту же группу настроек теперь перемещены и пункты настроек, связанные с репозиторием CWS (пункты "Автопереход в архив удалённых" и "Автоисправление ошибок в адресе").

      Ранее находились в группе служебных настроек расширения. Оба этих пункта отображаются в меню только на страницах указанного репозитория.

    • Изменения настроек в группе опций "Параметры текстового описания":
    • "Выдавать запрос сохранения файла" – относится только к файлам описаний.

      Если выключено – файлы сохраняются автоматически, диалог сохранения файла не выводится, имя файла создаётся по имени файла загрузки, текстовый файл размещается рядом с загрузкой (в той же папке). По умолчанию опция включена ("старое" поведение, как во всех предыдущих версиях аддона).

    • "Перезаписывать описания загрузок" – также относится только к файлам описаний.

      Если включено – текстовка сохраняется автоматически и автоматически перезаписывает имеющиеся файлы с учётом имени загрузки, диалог подтверждения перезаписи файла не выводится. По умолчанию опция выключена ("старое" поведение, как во всех предыдущих версиях аддона). Эта опция не будет работать, если включена предыдущая (в этом случае вы всегда вручную подтверждаете и сохрание и перезапись).

    • В эту же группу настроек теперь перемещены и пункты переключения языка текущей страницы в репозиториях CWS и MEA (оба пункта "Изменить язык страницы на..").

      Ранее находились в группе служебных настроек расширения. Оба этих пункта отображаются в меню только на страницах указанных репозиториев и только для НЕ-английской локали.

    • Следует понимать, что все новые опции автосохранения и автозамещения файлов работают только если в настройках вашего браузера выключена опция "Всегда указывать место для скачивания", в противном случае диалоги сохранения файлов будут выдаваться независимо от настроек расширения!


      Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

      Для вашего информирования об этом при попытке изменения таких настроек будет выдано соответствующее напоминание (однократное, при вашем подтверждении, всего будет 4 предупреждения, для каждого из связанных пунктов, ответ запоминается, сбрасывается при полном сбросе настроек).

  • в группу настроек "Сервисные функции и интерфейс" добавлен пункт "Меню общих настроек на chrome://*", опция, отображение меню общих настроек загрузчика и всех сервисных функций на любой служебной странице браузера;

    Сделано чисто для удобства, теперь для изменения любых общих настроек и, в частности, для резервного копирования, нет необходимости открывать страницы поддерживаемых репозиториев. При этом все соответствующие сервисные функции работают точно также, как и на страницах этих репозиториев. Все настройки, связанные с загрузками из конкретных репозиториев, по-прежнему отображаются только на страницах этих репозиториев. По умолчанию опция выключена ("старое" поведение, как во всех предыдущих версиях аддона).

  • доработана функция самоперезапуска (подменю "Сервисные функции и интерфейс", пункт "Перезагрузить и устранить ошибки"), теперь при смене языковой локали в браузере и после его перезапуска можно в любой момент принудительно перестроить меню, вручную вызвав эту функцию;

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

    Кроме того, для удобства "продвинутых юзеров", устанавливающих аддон в режиме разработчика, эта же функция в общем случае вызывает и перезагрузку аддона с его автообновлением и теперь это единственная возможность из меню вызвать runtime.reload в режиме разработчика. Ранее такая фича работала при каждом сбросе аддона после завершения загрузки файлов, теперь функция загрузчика оптимизирована и работает одинаково быстро при любом режиме установки.)
    В общем, теперь только так, при оптимизации все "лишние" ресеты удалены из кода. :)

Прочие изменения:
  • переписан и оптимизирован код большинства функций, сокращён набор переменных, изменена структура функций по модулям, ещё часть функций из загрузчика перераспределена по лругим модулям, размер основного постоянно используемого скрипта загрузчика уменьшен ещё на 3kB (порядка 10%), теперь все функции и переменные сведены в объекты, рантайм содержит только вызов действий из меню и/или его установку;
  • под текущие изменения подправлен текст некоторых пунктов меню, сообщений и диалогов, добавлены поясняющие подсказки для большинства новых функций, соответственно изменены и оба файла локализации (русский и английский, в зависимости от текущей локали браузера);
  • изменён набор "запрещённых" символов для имён файлов, снято ограничение на дефис;

    Зачем/почему – формально дефис не является запрещённым символом, это ограничение было заложено "исторически", для упрощения обработки получаемых из репозиториев имён файлов дополнений, и не менялось со времён классических версий. Теперь формирование имён файлов переделано и дефис в любом случае можно использовать в качестве разделителя слов или разделителя имени и номера версии.

  • изменённые текстовые* настройки теперь визуально помечаются галочкой (как переключатели).

    * К таким настройкам относятся: "Разделитель слов в имени файла", "Разделитель имени и версии файла" и непустое имя папки загрузок ("Сохранять в папку").

    Зачем/почему – мелкое "украшательство", сделано для лучшего восприятия изменённых (установленных НЕ по умолчанию) текстовых настроек (НЕ переключателей!) и быстрого "цепляния глаза" к ним. Теперь, если вы установили эти опции по своему желанию, они будут помечены галочкой, при установке по умолчанию, соответственно, галочка снимается.)

Известные проблемы:

Скриншоты:

Блок расширения на странице chrome://extensions:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Меню общих настроек на служебных страницах браузера (включена опция "Меню общих настроек на chrome://*"):

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Вложенное меню группы опций "Оперативные настройки загрузчика" для репозитория CWS:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Вложенное меню группы опций "Оперативные настройки загрузчика" для репозитория AMO:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Вложенное меню группы опций "Параметры текстового описания":

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Эта же группа опций в контекстном меню страницы в браузерах старых версий (CR29‑47):

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Уведомление о зависимости опции перезаписи без запроса от настроек браузера:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Вложенное меню группы опций "Сервисные функции и интерфейс":

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Эта же группа опций в контекстном меню страницы в браузерах старых версий (CR29‑47):

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Диалоговое окно при вызове пункта "Сохранить и восстановить настройки":

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Результат проверки корректных импортируемых данных:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Результат проверки импортируемых данных, совпадающих с текущими настройками:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Результат проверки некорректных импортируемых данных:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.

Результат ошибки при запросе файла резервной копии:

Щёлкните по изображению, чтобы просмотреть скриншот на другом языке.


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

Общие технические сведения
  • Технологии и API:
    Чистый JavaScript (ES5), API: contextMenus, downloads, clipboardRead, tabs, content-script, i18n
  • Запрашиваемые разрешения:
    [ "activeTab", "contextMenus", "downloads", "clipboardRead", "" ]

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

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

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

Поделиться

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