Некоторые технические подробности по исходному коду расширения Tab Controller RU. В этой статье:
Отличия от прототипов и аналоговВ отличие от расширений-прототипов и функциональных аналогов Tab Controller RU:
Исходный код, интерфейс и APITab Controller RU не использует для работы никакие сторонние библиотеки (привет любителям JQuery и иже)). В коде применён только чистый JS (ES5), любые неподдерживаемые в "старых" браузерах функции отсутствуют, все скрипты работают в "строгом" режиме – для гарантии выполнения функций и облегчения отлова ошибок. В интерфейсе применяются стили стандарта CSS2, неподдерживаемые в "старых" браузерах директивы отсутствуют. Аддон запускается при старте браузера, имеет невыгружаемый фоновый процесс, служащий для обработки позиций открываемых вкладок и переходов при их закрытии. Применяемые API и отличия версийДля работы со вкладками задействуется API chrome.tabs (разрешение запрашивается в манифесте). Для вызова окна настроек при щелчке по кнопке на тулбаре применяется API chrome.browserAction. Для внутренних функций расширения применяются API chrome.extension и chrome.windows. Для их работы специальных разрешений в манифесте не требуется. Расширение работает полностью автономно. Настройки также автономны и сохраняются только в локальном хранилище самого аддона, синхронизации нет. Для работы с хранилищем применяется API chrome.storage. Запрос отдельного разрешения в манифесте при этом необязателен и не указан. Интерфейс управления и настроекTab Controller RU имеет интерфейс управления, выполненный в виде всплывающего окна, вызываемого по щелчку мышью на иконке аддона на тулбаре. Сохранение и применение настроек производится автоматически, сразу же после их изменения. Перезапуск расширения или иные действия при этом не требуются. Интерфейс окна управления написан на чистом HTML-коде и не требует для работы внешних библиотек Краткая сводка по управлению расширением:
Подробное описание функций каждого из элементов управления окна настроек приведено в статье Tab Controller RU : Настройка и применение. Следует отметить, что для удобства возможных самостоятельных доработок исходного кода (при установке аддона в режиме разработчика) можно использовать встроенную функцию автопроверки типа установки с последующим автоперезапуском расширения для немедленного применения сделанных вами правок. Эта функция вызывается по щелчку правой кнопкой мыши на строке с названием и номером версии (расположена в нижней части окна управления настройками) и будет задействована только в режиме разработчика (либо при использовании "самопальных" пакетов установки)). При этом (установка в распакованном виде) соответственно изменяется и подсказка к экранной кнопке:
Других отличий между публичной и "девелоперской" версиями нет, все функции в обоих случаях работают одинаково. Дополнительные примечания по исходному кодуПрактических ограничений по версии браузера не имеется, используемые API работают в версиях 29+. Рекомендуемая "беспроблемная" версия с полной поддержкой всех функций аддона – не ниже 31+. Исходный код предоставляется по принципу "как есть", он НЕ обфусцирован, исключительно с целью удобства при возможных самостоятельных доработках и для облегчения читаемости кода при его исследовании. Исходный код текущей версии расширения можно просмотреть в режиме онлайн на любом из ресурсов, приведённых в материале Tab Controller RU : LBSC*. * См.также: LBSC: Что это такое и как работать с этим архивом. Локализация интерфейса и перевод на другие языкиЯзык интерфейса – только русский (локализация жёсткая, зашита в коде), добавление других* локализаций на текущий момент не планируется. Это связано со значительным упрощением кода, а также с тем, что при создании расширения автор в первую очередь ориентируется на русскоязычных пользователей. * Впрочем, если "дело пойдёт", прикрутить ещё и "басурманский" не является особой проблемой…) При необходимости пользователи-энтузиасты могут самостоятельно изменить локализацию интерфейса и описания, исправив все подсказки, названия пунктов списков настроек, кнопки и т.д.. Думаю, должно быть понятно, что эти действия вы можете выполнить только на свой страх и риск, никакие претензии типа "я вот тут поменял и у меня не пашет" автором не принимаются.) Тем не менее, при реальной необходимости полная поддержка иных локалей может быть добавлена и автором путём дополнительной доработки исходного кода. Эта доработка* может быть выполнена на условиях частного партнёрства с конкретным заказчиком (по обоюдной договорённости). * В этом случае будет выполнен публичный выпуск с авторской поддержкой мультиязычных версий. Такие релизы также будут размещены в разделе официальных загрузок этого сайта и в дальнейшем будут доступны всем "любителям иностранщины". :) Короче, велкам… :) Ссылки для интересующихся
| ||||||||||
Бармалей 19.09.2022 19.09.2022 176 Общие технические сведения о разработке
|
Всего комментариев: 0 |