Cookie Inspector • RU : Что "под капотом"
Опубликовано: Бармалей · 23.12.2016 · 00:02 ••• Обновление: 13.01.2021 · 15:29 0

…Как понимаю, вы уже прочитали общий обзор и хотите поглубже разобраться что и как в этом аддоне…)

В этой статье:


Основные отличия русского "Инспектора"

В дополнение к функционалу оригинального аддона в русском форке добавлены следующие возможности:

  • Только русский интерфейс, локализация "жёсткая", прямо в коде, есть подсказки и оповещения.
  • Раздельный режим работы в инкогнито + выгрузка из памяти в покое + отключение панели на служебных.
  • Корректное сохранение "expirationDate" и "session" при редактировании (ошибка исходного аддона).
  • При групповом экспорте имя файла автоматически формируется с учётом домена текущей страницы.
  • Экспорт одиночного куки, имя файла автоматически формируется с учётом домена и имени куки.
  • Функции одиночного и пакетного импорта (путём вставки из буфера обмена, формат JSON).
  • Функция создания полной копии куки, уникальность имени копии обеспечивает штамп времени.
  • Вывод результата последней операции в строку состояния (в нижней части экрана).
  • Обработка консольных ошибок при операциях с куки с выдачей сообщений (и в строке состояния).
  • Защита данных: блокировка действий над куки при открытом окне редактора (кроме экспорта).
  • Оптимизирован набор функций, удалены лишние и мусорные файлы, обновлена библиотека JQuery (slim).
  • Удалены лишние консольные сообщения, информационные алерты и подсказки также можно отключить.

Применение этих функций подробно описано в разделе Микро-FAQ по дополнительным возможностям.


Технические детали

Ниже приведены некоторые технические подробности по исходному коду и отдельным функциям расширения.

Исходный код, интерфейс и API

Код использует только чистый JS (ES5), все неподдерживаемые в "старых" браузерах функции заменены на аналоги.

Для упрощения отрисовки интерфейса панели DevTools и контекстного меню используется слим-версия JQuery.

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

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

Все настройки автономны и сохраняются только в локальном хранилище самого аддона, синхронизации нет.

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

Для работы с панелями DevTools применяется стандартный API chrome.devtools.panels, сама страница панели определяется в манифесте аддона параметром "devtools_page".

Для работы со вкладками применяется стандартный API chrome.tabs с соответственным разрешением в манифесте права доступа [ "tabs" ].

Для доступа к функциям управления куками применяется стандартный API chrome.cookies с разрешением в манифесте права доступа [ "cookies" ].

Для хранения настроек и параметров задействован API chrome.storage с разрешением в манифесте права доступа [ "storage", "unlimitedStorage" ]. Второе разрешение необязательно, но задано на случай превышения размера сохранённых данных минимально допустимого лимита (5Mb).

Для динамической работы с куками при переходах в пределах вкладок применяется API chrome.webNavigation с разрешением в манифесте права доступа [ "webNavigation" ].

Для выдачи уведомлений о статусе выполнения каких-либо действий используется API chrome.notifications с разрешением в манифесте права доступа [ "notifications" ].

Для обеспечения корректной работы аддона с любыми веб-сайтами в манифесте запрашиваются разрешения [ "http://*/*", "https://*/*" ]. С локальными и служебными страницами расширение не работает (панель DevTools для таких страниц не создаётся).

Дополнительные примечания по коду

Практических ограничений по версии браузера не имеется, используемые API работают в версиях 28+.

Язык интерфейса, сообщений, подсказок и описания – только русский (жёстко зашит в коде).

Исходный код НЕ обфусцирован, исключительно с целью удобства при возможных доработках.
Кому это критично – удалите комментарии и пропустите через компрессоры..х))


Ресурсы и ссылки по разработке Cookie Inspector • RU



Управление данными Бармалей
Бармалей 23.12.2016 13.01.2021 246 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский
Версия браузера:28+
Протестировано в:SRWare Iron 31/49 + 360 Extreme Explorer 11/12 (CR69/78)
Технологии и API:Чистый JavaScript (ES5). API: cookies, tabs, storage, webNavigation, notifications

Поделиться

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