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

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

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

Примечание: во всех браузерах версий CR48+ после смены языковой локали в браузере и после его перезагрузки следует переустановить расширение обновлением поверх уже установленной версии. В противном случае локализация меню остаётся от предыдущего языка интерфейса браузера.

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

В браузерах версий 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.


Основные изменения:
  • исправлена проблема с подвисанием при загрузке скриптов с сайта OpenUserJS;

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

  • разделение кода на подгружаемые модули, часть операций с меню вынесена в отдельные скрипты;

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

  • в дополнение к русской добавлена вторая локаль – английская (через стандартный API chrome.i18n);

    В комплект аддона добавлена папка _locales с двумя вложенными, en и ru. Переключение автоматическое, по текущей локали браузера, для всех других языков включается английская (по умолчанию). Для обеих локалей изменяются все подсказки, названия пунктов меню, диалоги и т.д.

    Зачем: да чисто для удобства пользователей.)
    Такая задумка давно была, но вот теперь "руки дошли" и "воровайка" научилась говорить не только на русском. :)

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

    Короче, велкам… :)

  • изменены названия и логика работы переключателей языка страниц в репозиториях CWS и MEA;

    Расположены в подменю "Сервисные функции и интерфейс", пункты "Изменить язык страницы на (ENGLISH / РУССКИЙ)" теперь переименованы и логика их работы отличается:
    • "Изменить язык страницы на [ EN ]" – работает как и раньше, принудительно переключает с любого на английский;
    • "Изменить язык страницы на [ RU ]" – теперь вместо жёстко заданного "RU" здесь будет отображаться язык текущей локали браузера и, соответственно, переход будет сделан на страницу репозитория в зависимости от этой локали.

    Оба этих пункта теперь НЕ будут отображаться в английских (en, en-US, en-GB) локалях браузера.
    Это исключение добавлено исходя из отсутствия (в целом) необходимости переключения с английского на английский. :)

    Общий пункт "Переключить язык страницы RUS/ENG" работает как и раньше, принудительно переключает язык текущей страницы всех поддерживаемых репозиториев с русского на английский (и наоборот).

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

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

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

    Во избежание "несчастных случаев" при вызове этого действия выдаётся запрос на подтверждение очистки всех настроек. :)

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

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

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

    Настройка необязательная, может быть включена только при наличии такой проблемы в вашем браузере (например, в SRWare Iron 31). Если в вашей версии браузера проблем с меню нет, стартовый автопостроитель меню не требуется.

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

    Во всех относительно современных браузерах (CR48+) эти дополнительные действия и пункты меню не отображаются, никаких уведомлений и запросов не выводится, дополнительные функции поддержки при этом также не используются.

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

    Теперь он в любом случае НЕ блокируется при переключении настройки "Создавать описание для загрузки".
    Это была чисто логическая нестыковка, оба параметра никак не зависят друг от друга. Устанено.

    Кроме того, во всех относительно современных браузерах (CR48+) этот пункт больше не отображется, альтернативный метод сохранения описаний может быть оправдан только в самых старых браузерах (например, в SRWare Iron 29, в более новых его применение не требуется, в них сохранение нормально работает и без этого "костыля").

    На основании вышесказанного: если у вас эта опция была включена И если вы используете браузер версии CR48+, ПЕРЕД обновлением расширения ДО текущей версии эту опцию желательно отключить, либо просто установить настройки по умолчанию, используя пункт "Сброс всех настроек и перезапуск"

  • в группу опций "Get-CRX RU : Ресурсы и ссылки" добавлено несколько дополнительных ссылочных переходов на связанные ресурсы, относящиеся непосредственно к расширению;

    Подробно описывать не буду, просто понажимайте их – и будет понятно, что и зачем… :)

  • изменён принцип установки и хранения настроек в localStorage (для оптимизации работы с хранилищем).

    Теперь при изменении настроек и установке любых опций в значения, соответствующие их значению по умолчанию, такие параметры больше не сохраняются в локальном хранилище (соответствующий ключ при этом удаляется из localStorage).

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

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

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

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

Скриншоты:

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

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

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

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

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

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

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

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

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

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

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

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

Вложенное меню группы опций "Get-CRX RU : Ресурсы и ссылки":

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

Результат проверки версии ("Проверить и скачать обновление"):

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

Если установлена актуальная версия ("Проверить и скачать обновление"):

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

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

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

Запрос подтверждения включения автопостроителя меню (при установке/обновлении версии в CR29-47):
При переключении режиам через пункт меню "Принудительное перестроение меню" этот диалог не отображается

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

Запрос подтверждения полного сброса настроек ("Сброс всех настроек и перезапуск"):

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

После смены локали браузера требуется перезапуск ("Перезагрузить и устранить ошибки"):

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

Ошибка сохранения описания в браузере CR29 (при выключенной опции "Сохранять классическим методом"):

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


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

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

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

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

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

Поделиться

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