S.T.A.R.T.E.R • Незамерзайка : 2021.6.26
Опубликовано: Бармалей · 26.06.2021 · 00:01 ••• Обновление: 04.07.2021 · 16:02 1

Базовая версия для отработки основных функций и возможностей.
Добавлен дополнительный функционал управления автовыгрузкой вкладок.

Разработана на базе инженерной концепт-версии 2021.6.16.
Добавлен интерфейс и дополнительные настройки активации вкладок, расширены функции управления вкладками для работы с любыми страницами, включая локальные файлы и служебные страницы браузера, предназначена для любых браузеров с поддержкой функций "tabDiscard" (все версии CR46+).

Проверка работоспособности: SRWare Iron 49, 360 Extreme Explorer 12/13 (CR-78/86) и miniChrome 87.

Эта версия может работать только на браузерах версий CR-46+!

Полностью весь функционал аддона доступен только на браузерах версий CR-54+!


Основные изменения:
  • продуманы и реализованы в коде: общая концепция расширения, набор основных и "сервисных" функций, методы построения и алгоритмы обработки вкладок, разработан интерфейс взаимодействия с пользователем;

    В общем, теперь это уже не просто "концепт", а полноценный аддон для применения в любых Chromium-браузерах… :)

  • доработана основная функция автоактивации* фоновых вкладок на базе концепт-версии 2021.6.16;

    * Введён алгоритм проверки текущего состояния вкладок, теперь автоматически активируются только фоновые вкладки, находящиеся в выгруженном (discarded) состоянии, активные фоновые вкладки остаются "как есть", никаких изменений для них не производится.

  • изменён режим работы аддона, добавлена автовыгрузка скрипта из памяти и опция* "быстрой выгрузки";

    * По умолчанию включена, при интенсивной работе и частом изменении вкладок её имеет смысл отключить.

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

    * Введён для защиты отдельных вкладок, предотвращает их пакетную автоматическую перезагрузку. При включении этого режима на вкладке отключается звук и она закрепляется. При ручном изменении любого из этих параметров через штатное меню вкладки в браузере этот режим не может быть корректно проверен скриптом и такая вкладка после этого может быть обработана автоматически в пакетном режиме!

  • добавлены дополнительные* действия и пользовательские настройки обработки и активации вкладок;

    * Включают в себя:
    · ручной запуск активации фоновых вкладок (в любой момент, не только при старте браузера);
    · ручная установка запрета авто-дискарда для всех открытых вкладок (в любой момент);
    · переключение режима автовыгрузки текущей вкладки (хоткей или щелчок по кнопке на тулбаре или вызов из меню);
    · переключение режима "ручного управления" текущей вкладкой (хоткей или через меню);
    · переход на страницу chrome://discards (пункт меню "Оценить общую обстановку");
    · два пункта в меню для перезагрузки/обновления аддона (один – со сбросом параметров в дефольт).

  • добавлена индикация состояния режима работы каждой отдельной вкладки – изменение* цвета значка на тулбаре;

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

  • ограничение на работу только с веб-страницами (http(s)*) – по умолчанию (можно* изменить);

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

  • изменён манифест, добавлен вызов по кнопке на тулбаре и/или по горячим клавишам (4* комбинации);

    * Максимум, ограниченный только требованиями API chrome.commands. Могут быть переопределены самостоятельно через штатную функцию браузера ("Быстрые клавиши"). Глобально включаются и отключаются в настройках (пункт меню "Использовать горячие клавиши"), если включены (по умолчанию) – в качестве подсказки у соответствующих пунктов в меню отображаются хоткеи по умолчанию (частная перенастройка не отслеживается).

  • функция, вызываемая по щелчку по кнопке на тулбаре зависит от версии* вашего браузера;

    * Соответственно изменяется и подсказка к кнопке. Обусловлено возможностями API работы со вкладками (поддерживаемыми функциями). В версиях CR-54+ выполняется переключение режима автовыгрузки текущей вкладки (эквивалентно пункту меню "Переключить режим вкладки"). В более старых версиях щелчок приводит к вызову функции автоактивации для всех вкладок (эквивалентно пункту меню "Разбудить их всех! :)").

  • добавлено контекстное меню кнопки на тулбаре, содержит выполняемые действия и подменю* настроек;

    * Вложенное, отображается только для кнопки на тулбаре, отдельной страницы настроек нет (и не будет). Все изменённые настройки сохраняются только в локальном хранилище аддона, синхронизации нет (и не будет). При установке в значения по умолчанию соответствующие ключи хранилища очищаются автоматически.

  • в аддоне поддерживаются два* языка интерфейса – русский и английский (пункты меню, все подсказки и диалоги);

    * Устанавливаются автоматически при запуске, по основному языку браузера. Можно переключить через соответствующий пункт меню настроек. Описание назначения хоткеев в штатных настройках браузера – только на английском. Описание аддона в его блоке на странице установленных расширений – на двух языках… :)

  • в манифесте установлено ограничение* на версию браузера 46+ (по функционалу).

    * Теоретически, аддон может работать на любых JS/ES5 браузерах, однако, на более старых версиях его установка не имеет смысла, так как основные функции просто не будут срабатывать.


    Подробнее обо всех настройках читаем в статье* S.T.A.R.T.E.R : Что "под капотом".

    * Для удобства прямая ссылка на неё заложена в меню аддона (пункт "STARTER: Что "под капотом" (онлайн)").

    На момент публикации этой версии статья в процессе подготовки, допишу, причешу и потом открою.
    В общем, пару-тройку дней пробуем разобраться самостоятельно, применяя "метод научного тыка"… :)

Прочие изменения:
  • как уже было анонсировано ранее, изменено название аддона – теперь вместо первоначального "Tab Activator" расширение переименовано в более соответствующее его новым функциям: "S.T.A.R.T.E.R • Не замерзай-ка!" (aka "Smart Tab AntiFreezer : RunTime Enhanced Refresh" aka "Незамерзайка") и в дальнейшем будет выпускаться и распространяться под этими "брэндами";
  • к "голому концепту" добавлена иконка – (с)пёрта здесь, конвертирована и оптимизирована… :)

Известные проблемы:
  1. Браузеры 360 Extreme Explorer 9/11/12/13 (CR-63/69/78/86): критическая ошибка аддона при попытке изменения любых свойств вкладки на штатной странице chrome://myextensions (отключение autoDiscarding или перевод в режим ручного управления). Вид сообщения об ошибке (одинаков во всех линейках):

    Предположительная причина: "анальная огороженность" этой страницы разработчиками браузера, на штатной странице Chromium chrome://extensions(-frame) в этом и других протестированных браузерах такой проблемы нет.
    Решение: этот URL добавлен во внутренний список запрещённых для обработки страниц. В случае попадания этой страницы в процедуру автоактивации (либо при попытке изменения её режима вручную через меню) для этой страницы устанавливается соответствующая иконка кнопки тулбара:

    При этом нажатие кнопки блокируется, контекстное меню остаётся доступным.
  2. Браузер miniChrome CR-87 (aka miniBrowser, билд 1.0.0.106): устойчивое падение браузера при попытке вызова служебной страницы chrome://discards (пункт меню "Оценить общую обстановку"). Проявляется также и при ручном вызове этой страницы при выключенном расширении (т.е. ошибка никак НЕ связана с работой аддона), возможно – баг конкретного билда, который (может быть) будет исправлен* в дальнейшем. Обнаружено под Windows XP на собственной сборке автора, в других ОС или на других билдах проверяем самостоятельно.
    Решение: если у вас также наблюдается эта проблема, НЕ используйте данный пункт меню. В силу неизвестности причины проблемы, отсутствующей в любых других протестированных браузерах, решения на уровне кода аддона на момент выхода этой версии не предусмотрено. Автоблокировка пункта меню через определение конкретного типа хромоклона и вероятности его ошибок не представляется возможной.
    * Обновлено 04.07.2021: исправлено в текущем билде 1.0.0.113, страница открывается без проблем, падения нет.
  3. Возможные конфликты с другими расширениями для подобных задач: специально не проверялось, но такие конкфликты не исключены в принципе, хотя бы в силу того, что эти аддоны могут иметь настройки, противоречащие настройкам или выполняемым действиям в "Незамерзайке". В любом случае, если вы сталкиваетесь с подобной проблемой, есть смысл самостоятельно проверить работу S.T.A.R.T.E.R'а на чистом пустом профиле пользователя.
    Решение: если у вас также наблюдается эта проблема, просто отключите другие аддоны… :)
  4. Не активируется фоновая страница управления расширениями: "так и задумано" и это не является ошибкой. Причина – перезагрузка этих страниц приводит к автоматической перезагрузке всех работающих расширений, во избежание этого стандартные служебные страницы chrome://extensions(-frame) добавлены во внутренний список безусловных ограничений, работа Активатора фоновых вкладок на них запрещена.
    Решение: если есть необходимость активации этой страницы, просто перейдите на неё. При этом отработает штатная функция активирования страницы браузером и перезагрузки работающих аддонов не произойдёт.

Скриншоты:

Сводка по аддону и права доступа:

Блок аддона на странице расширений в современных браузерах:

Интерфейс меню кнопки на тулбаре на русском языке (подсвечен пункт перехода на chrome://discards):

Интерфейс меню кнопки на тулбаре на английском языке (подсвечен пункт ручного переключения):

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


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

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

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

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

Официальные версии Документация
Бармалей 26.06.2021 04.07.2021 367 0.0

Поделиться

Всего комментариев: 1
0
1 Бармалей 04.07.2021 • 16:09
качнул/проверил свежий билд miniChrome (1.0.0.113) - пофиксили падучесть на странице chrome://discards.. 
в статье к иссую №2 ремарку добавил..)
close