…Как понимаю, вы уже прочитали общий обзор и хотите поглубже разобраться что и как в этом аддоне…) Всё верно, работа с любым расширением требует знания и понимания всех его особенностей, это позволит вам избежать "непонятных" проблем при эксплуатации аддона. В этой статье:
Отличия от оригинала и аналоговПо отношению к исходному аддону и его функциональным аналогам в Bookmark All RU имеются следующие отличия:
Известные эксплуатационные проблемы и их решение1. Версия 2014.11.25 выдаёт ошибку при установке, связанную с функцией горячих клавиш.Проблема известная, проявляется на браузерах версий 72+. Это не является ошибкой расширения и связано с изменением интерпретатора API chrome.commands.onCommand в новых версиях Chromium, из-за чего и возникает ошибка определения вызова горячей клавиши, после чего аддон может не работать в принципе. Решение проблемы: установка более новой версии расширения с изменённым механизмом работы с хоткеями. 2. Аддон не работает в некоторых версиях браузеров 360 Extreme Explorer.В браузерах 360 Extreme Explorer аддон работает частично, начиная с версии 11.0.2216+ (CR69) и во всех версиях линеек 12 и 13 (CR78/86) работать не будет! Это не является проблемой расширения и связано с некорректной реализацией в этих версиях функции API chrome.bookmarks.create(), по этой же причине в указанных билдах и линейках полностью неработоспособны любые "закладочные" аддоны. Решение проблемы на текущий момент не найдено. Возможно, в будущем разработчики браузера исправят ошибку… См. также: Ru-Board: О неработоспособности аддона в браузерах 360 Extreme Explorer (проблема и обсуждение). Технические детали разработкиНиже приведены некоторые технические подробности по исходному коду и отдельным функциям расширения. Исходный код, интерфейс и APIBookmark All RU не использует для работы никакие сторонние библиотеки (привет любителям JQuery)). В коде применён только чистый JS (ES5), все неподдерживаемые в "старых" браузерах функции заменены на аналоги. Скрипт работает в "строгом" режиме – для гарантированного выполнения функций и облегчения отлова ошибок. В аддоне отсутствует постоянный фоновый процесс, он не расходует ресурсы браузера "в покое", основная функция расширения выполняется с помощью автозагружаемого скрипта, который также автоматически выгружается из памяти после отработки необходимых действий (функция быстрой выгрузки). Основное отличие от функциональных аналогов – в форке полностью отсутствует какой-либо интерфейс, требующий дополнительного html-кода, всё работает только за счёт чистого JS-кода в единственном скрипте. В общем, всё максимально компактно и "заточено" на оперативное решение задачи в пару кликов.) Для обеспечения работы аддона с закладками браузера задействуется стандартный API chrome.bookmarks. Для запуска сохранения сессии при щелчке по кнопке на тулбаре применяется стандартный API chrome.browserAction. Для запуска сохранения сессии через контекстное меню страницы применяется стандартный API chrome.contextMenus. Для вызова функции сохранения по горячей клавише задействован* API chrome.commands. * В текущей версии этот API не используется, при необходимости хоткей можно задать самостоятельно с помощью стандартной функции браузера "Быстрые клавиши" (на странице chrome://extensions).
Для получения списка всех открытых вкладок задействуется API chrome.tabs. Настройки автономны и сохраняются только в локальном хранилище самого аддона, синхронизации нет. Для работы с хранилищем применяется API chrome.storage. Запрос отдельного разрешения [ "storage" ] в манифесте при этом необязателен, хотя и указан (в качестве задела на будущее)). Дополнительные примечания по кодуПрактических ограничений по версии браузера не имеется, используемые API работают в версиях 25+. Язык интерфейса – только русский (локализация жёсткая, зашита в коде), другие* локализации отсутствуют. Это связано со значительным упрощением кода и повышением скорости его работы, а также с тем, что при создании расширения автор в первую очередь ориентируется на русскоязычных пользователей. * Впрочем, если "дело пойдёт", прикрутить ещё и "басурманский" не является особой проблемой…) Ссылки для интересующихся
| ||||||||||
Бармалей 25.11.2014 11.04.2021 259 Общие технические сведения о разработке
|
Всего комментариев: 0 |