' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'' +'')//-->
…Как понимаю, вы уже прочитали общий обзор и хотите поглубже разобраться что и как в этом аддоне…)
Всё верно, работа с любым расширением требует знания и понимания всех его особенностей, это позволит вам избежать "непонятных" проблем при эксплуатации аддона.
В этой статье:
По отношению к исходному аддону и его функциональным аналогам в Bookmark All RU имеются следующие отличия:
Проблема известная, проявляется на браузерах версий 72+. Это не является ошибкой расширения и связано с изменением интерпретатора API chrome.commands.onCommand в новых версиях Chromium, из-за чего и возникает ошибка определения вызова горячей клавиши, после чего аддон может не работать в принципе.
Решение проблемы: установка более новой версии расширения с изменённым механизмом работы с хоткеями.
В браузерах 360 Extreme Explorer аддон работает частично, начиная с версии 11.0.2216+ (CR69) и во всех версиях линеек 12 и 13 (CR78/86) работать не будет! Это не является проблемой расширения и связано с некорректной реализацией в этих версиях функции API chrome.bookmarks.create(), по этой же причине в указанных билдах и линейках полностью неработоспособны любые "закладочные" аддоны.
Решение проблемы на текущий момент не найдено. Возможно, в будущем разработчики браузера исправят ошибку…
См. также: Ru-Board: О неработоспособности аддона в браузерах 360 Extreme Explorer (проблема и обсуждение).
Ниже приведены некоторые технические подробности по исходному коду и отдельным функциям расширения.
Bookmark 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+.
Язык интерфейса – только русский (локализация жёсткая, зашита в коде), другие* локализации отсутствуют. Это связано со значительным упрощением кода и повышением скорости его работы, а также с тем, что при создании расширения автор в первую очередь ориентируется на русскоязычных пользователей.
* Впрочем, если "дело пойдёт", прикрутить ещё и "басурманский" не является особой проблемой…)