YouTube Embedded RU : 2022.10.25

Бармалей 25.10.2022 06.11.2022 2220.0

Экспериментальная версия, добавлены новые функции и расширены настройки.
Подключение внешнего скрипта загрузки, работа с резервными копиями настроек.
Решены проблемы работоспособности расширения в текущем дизайне YouTube.

Проверка работоспособности: SRWare Iron 31/36/49 + 360 Extreme Explorer 9/11/12/13 + Chromium 87.

На более старых версиях работоспособность НЕ гарантируется!


Основные изменения:
  • изменён основной API вызова – вместо pageAction теперь используется browserAction;

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

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

  • изменена область применения инжектора, теперь он работает только на страницах www.youtube.com;

    Теперь инжектор загружается и работает на любых страницах основного сайта YouTube, включая embedded-плейер, страницы каналов, списки и т.д.. На страницах мобильной версии сайта скрипты инжектора не загружаются (не работают).

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

    Исходя из этого, все настройки, установленные в блоке "Настройки просмотра", автоматически отрабатывают только на страницах основного сайта YouTube. Часть настроек может быть включена (и сохранена) и в мобильной версии, но постоянная работоспособность этих опций при этом не гарантируется (в силу отсутствия их проверок инжектором).

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

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

    Внешние переходы на сервисы просмотра/загрузки видео расположены в блоке "Смотреть/скачать".

    Все опции и параметры просмотра роликов на сайте YouTube сведены в блок "Настройки просмотра".

    Опции, связанные с работой скриптов расширения, перемещены в блок "Настройки интерфейса".

    Дополнительные действия (резервное копирование, сброс и восстановление) собраны в блоке "Сервисные функции".

    Справочные переходы на доументацию (страницы этого сайта) расположены в блоке "Справка и поддержка".

    Назначение групп и отдельных опций в них понятно из названия пунктов меню.
    Подробное описание всех настроек и опций доступно в статье YouTube Embedded RU : Настройки и управление.

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

    Подобное упрощение – следствие того, что аддон (пока ещё)) НЕ является редактором куки и НЕ оперирует с ними вне сайта YouTube. Поэтому НЕ нужно удивляться, что, к примеру, НЕ происходит переключения какой-либо опции настроек или выполнения иного действия на других страницах.)

  • удалены переходы на неработающие (на текущий момент) внешние сервисы просмотра/загрузки видео;

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

  • вместо удалённых добавлены 4 перехода на "зеркала" YouTube, работающие через API InVidious;

    Размещены в блоке опций "Смотреть/скачать" (первые 4 пункта меню), работают с любым контентом с YouTube, имеют гораздо более "лёгкий" и простой интерфейс страниц, облегчающий просмотр.

    Кроме того, добавлена возможность самостоятельной правки списка этих серверов, если по каким-либо причинам не устраивают хосты по умолчанию. Редактирование доступно через пункт меню "Изменить список серверов InVidious" (в блоке "Настройки интерфейса").

    В диалоге редактирования также есть возможность перехода на страницы списков актуальных зеркал InVidious. Эта "фича" может быть полезна для оперативного самостоятельного выбора наиболее подходящих зеркал (по геолокации, скорости доступа и т.д.).

  • добавлена опция включения/установки цветовой коррекции видео (яркость/контраст/насыщенность/баланс);

    Переключается пунктом меню "Применять цветокоррекцию видео" (в блоке "Настройки просмотра"). Применяется на лету, без перезагрузки текущей страницы. В дальнейшем включается автоматически, до изменения этой настройки. Может быть полезна в некоторых браузерах, имеющих некорректную цветопередачу видео (в частности, в SRWare Iron 49).

    Кроме того, добавлена возможность самостоятельной правки CSS этого фильтра, если не устраивают его параметры по умолчанию. Редактирование собственного стиля доступно через пункт меню "Задать CSS цветокорректора видео" (в блоке "Настройки интерфейса").

    В окне ввода следует указывать только параметры фильтра, сам оператор фильтра (--webkit-filter, как и параметр !important) вводить НЕ нужно (приведёт к ошибке!). В случае, если "что-то пошло не так", в этом же диалоге можно сбросить настройку.

    Фильтр работает только на страницах сайта www.youtube.com, в мобильной версии сайта обработчик НЕ подключается, при необходимости можно включить/выключить цветокоррекцию вручную, только на время просмотра текущей страницы.

  • заменён скрипт внешнего файлового загрузчика, теперь он зависит от версии движка браузера;

    Связано с частичной неработоспособностью ранее используемого скрипта с сайта deturl.com, не отдающего все доступные медиа-форматы для части роликов.

    Для браузеров версий CR55+ загружается скрипт YouTube Links (оригинальный, непосредственно с сайта GreasyFork.org). Для более старых версий браузеров используется скрипт YouTube Media Direct (сжатая копия текущей версии).

    Различие связано с тем, что оригинальный скрипт "YouTube Links" содержит JS-операторы стандарта ES6, не работающие в браузерах версий старше CR55. Функционально результат работы обоих скриптов абсолютно одинаков, получаемые ссылки на медиа-файлы загружаются в любой версии браузера.

    Доступен как ручной вызов загрузчика, так и его автоподключение при просмотре любой страницы YouTube (переключателем "Автоподключение панели загрузчика" в блоке "Настройки интерфейса"). Если эта опция выключена (по умолчанию), соответствующие пункты отображаются в контекстном меню страниц, ссылок, фреймов и в общем меню значка на тулбаре (присутствует только в браузерах версий CR48+).

    Следует помнить, что на достаточно слабых компьютерах медиа-загрузчик может дополнительно замедлять работу браузера, особенно – если в настройках НЕ отключён* вывод "рекомендуемых видео".

    * Скрипт загрузчика автоматически обрабатывает ВСЕ видеофрагменты в этом блоке при их подгрузке. Кроме того, скрипт загрузчика автоматически пересчитывает ссылки на медиафайлы при переходах по сайту в пределах вкладки. Таким образом, если функция загрузки используется лишь изредка, опцию автозапуска загрузчика желательно оставить выключенной и использовать его вызов через контекстное меню только по необходимости.

  • добавлена поддержка переключения ссылок/страниц "коротких видео" ("shorts") в режим embedded-плейера;

    Фича добавлена "по просьбам трудящихся", работает аналогично переключателю для "обычных" ссылок и страниц роликов.

  • исправлена проблема перехода (и удержания состояния) на мобильную версию сайта и обратно;

    Связано с изменением обработки переходов на самом сервисе YouTube, в силу этого метод перехода на мобильную версию, используемый в предыдущих версиях аддона, стал неработоспособен. Проблема исправлена, теперь переходы на мобильную версию и обратно отрабатываются корректно.

    Кроме того, добавлена возможность включения постоянного автоматического перехода на мобильную версию, включается пунктом меню "Автопереход к мобильной версии" (в блоке "Настройки просмотра"). При этом открытие основной версии сайта будет блокировано до момента выключения этой опции (не относится к embedded-плейеру), независимо от способа вызова (из закладок, по ссылкам, из омнибокса и т.д.).

  • добавлены функции сброса, резервного копирования и восстановления настроек ("Сервисные функции");

    Сохранение резервной копии настроек производится во внешний файл формата JSON. Имя файла устанавливается автоматически и может быть произвольно изменено при сохранении. Восстановление настроек выполняется путём копирования/вставки всего содержимого файла бэкапа в соответствующем диалоговом окне.

    Сброс настроек может быть полезен, если вы "хотите начать всё сначала".) Во избежание случайностей перед сбросом настроек потребуется подтвердить это действие.

    После сброса или восстановления настроек будет произведена попытка автоматической переустановки параметров на сайте YouTube (если он открыт в текущей вкладке). В противном случае выдаётся напоминание о необходимости их ручной переустановки (выбором пункта "Восстановить настройки в куки" в блоке "Настройки просмотра").

  • в инжектор добавлена упрощённая проверка настроек на сайте с выдачей предупреждения при их отсутствии;

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

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

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

Прочие изменения:
  • оптимизирован код скриптов, упрощены проверки отдельных связанных условий и параметров настроек.

Известные проблемы:
  • Перестало работать открытие ссылок в новой фоновой вкладке.

    Мой "косяк", связан с "излишней оптимизацией" условий проверки настроек.)

    Будет исправлено в следующей версии, если "мне вот прям щас" – смотрим решение и пилим самостоятельно.

    Обновлено 06.11.2022: выпущена исправленнная версия [2022.11.6].

  • Другие проблемы пока отсутствуют, но если вдруг что – не стесняемся и пишем баг‑репорты в комментариях…:)

Скриншоты:

Блок аддона на странице управления расширениями:

Запрашиваемые разрешения:

Меню "Смотреть и скачать" (выделен пункт выбора одного из зеркал InVidious):

Меню "Настройки просмотра" (выделена опция включения цветокоррекции видео):

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

Меню "Сервисные функции" (выделен пункт восстановления настроек из файла):

Меню "Справка и поддежка" (выделен переход на страницу ченч-лога текущей установленной версии):

Диалоговое окно правки списка зеркал с API InVidious:

Диалоговое окно правки параметров CSS видеокоррекции:

Диалоговое окно восстановления настроек из файла:

Диалоговое окно подтверждения сброса всех настроек:

Меню расширения в браузерах версий до CR48 (группы настроек во вложенных подменю):


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

Общие технические сведения
  • Технологии и API:
    Чистый JavaScript (ES5), API: tabs, contextMenus, browserAction, content-script
  • Запрашиваемые разрешения:
    Общие: [ "activeTab", "contextMenus" ], контент-скрипт: [ "*://www.youtube.com/*" ]

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

Дополнительно
Так держать! :)
Официальные версии

URLПоделиться

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