Скрипт, блокирующий автозапуск видео в статьях на DTF (обновлено, v.1.2.1)
Принцип работы скрипта крайне прост - обсервер выискивает видео в статье, и переписывает их атрибуты, удаляя автовоспроизведение.
Возможно, расширения браузеров делают это куда лучше, и/или кто-то делал скрипт куда лучше до меня, я без понятия.
Минус лишь один - кнопки управления плеером после подобных манипуляций сия скриптом скрываются.
Патчноут:
- 1.1 - при переходе по ссылке на другую статью или страницу, обсервер тоже исчезал (чего я не знал, однако). Пофиксено, теперь обсервер добавляется при каждом переходе на новую статью/ссылку. Пока что убрано снижение громкости.
- 1.2 - добавлены кнопки управления видео в шапке статей.
Добавлено отключение автовоспроизведения видео в комментариях.
Как оказалось, по мере скролла страницы, автовоспроизведение видео включается насильно (спасибо, да) - данный скрипт научился блокировать и это. - 1.2.1 (ветка "beta" на гитхабе) - добавлены настройки (скриншот ниже). Настроек два вида - "сохраняемые" (в вашем браузере) и "быстрые" (ничего не сохраняет в браузере, а лишь временно меняет настройки на текущей статье).
Панель "быстрых настроек" имеет лишь часть настроек (управление автозапуском видео в статьях, комментариях, и включение/отключение звука видео по-дефолту).
"Сохраняемые" настройки (панелька слева на нижнем скриншоте) открываются через кнопку в шапке DTF. Там будут располагаться кнопки всех настроек скриптов (когда я их сделаю, ага).
Кнопка "Отмена" пока что не работает, настройки в "бете".
"Сохраняемые" настройки работают на indexedDB, так что должно работать не только на Chrome и Chromium браузерах.
Настройки "умные" - если их нет, или браузер не поддерживается, или же возникла проблема, из-за которой настройки не прочитались - будет использоваться дефолт.
Если настройки были найдены, скрипт начнёт свою обычную работу.
Ссылки на скрипт:
Статья для проверки работы скрипта:
P.S
В консоли, может быть (нет, будет) ругань на то, что остановка видео идёт сразу после запуска. На работу скрипта это влиять не должно, по идее.
Обсервер используется сугубо из-за того, что кто-то посчитал что совмещение постепенной загрузки видео по мере скролла страницы и автовоспроизведения это отличная мысль. Грубо говоря, нет возможности после загрузки страницы найти сразу все видео в статье и переписать их атрибуты.
P.P.S
Добавьте уже автовоспроизведение видео в настройки профиля, а.
Лень писать статью, да и скрипт пока что тестируется...поэтому запихнул в блог.
Если есть идеи изменения скрипта, замечены баги, и т.п - добро пожаловать в комментарии.
Обновлено.
1.2 - добавлены кнопки управления видео в шапке статей.
Добавлено отключение автовоспроизведения видео в комментариях.
Как оказалось, по мере скролла страницы, автовоспроизведение видео включается насильно (спасибо, да) - данный скрипт научился блокировать и это.
По-умолчанию, активно лишь "отключение автовоспроизведения в статьях", блокировка "автовоспроизведения в комментариях" включается вручную через кнопку в шапке статьи.
Метод действия немного расширен - обсервер влияет на прогружаемые (создаваемые на странице) видео, а функция находит сразу все видео на странице, и переписывает их атрибуты.
Благодаря парной работе обсервера и функции, ни одно видео не ускользает от скрипта.
Обновлено.
1.2.1 (ветка "beta" на гитхабе) - добавлены настройки (скриншот ниже). Настроек два вида - "сохраняемые" (в вашем браузере) и "быстрые" (ничего не сохраняет в браузере, а лишь временно меняет настройки на текущей статье).
Панель "быстрых настроек" имеет лишь часть настроек (управление автозапуском видео в статьях, комментариях, и включение/отключение звука видео по-дефолту).
"Сохраняемые" настройки (панелька слева на нижнем скриншоте) открываются через кнопку в шапке DTF. Там будут располагаться кнопки всех настроек скриптов (когда я их сделаю, ага).
Кнопка "Отмена" пока что не работает, настройки в "бете".
"Сохраняемые" настройки работают на indexedDB, так что должно работать не только на Chrome и Chromium браузерах.
Настройки "умные" - если их нет, или браузер не поддерживается, или же возникла проблема, из-за которой настройки не прочитались - будет использоваться дефолт.
Если настройки были найдены, скрипт начнёт свою обычную работу.