GlobalSign corporate blog
Firefox
Website development
Google Chrome
Browsers
6 February

Новое в браузерах: Firefox 66 по умолчанию блокирует видео и звук, Chromium ограничивает бюджет страниц


В ближайших версиях Firefox и Chromium могут произойти важные изменения.

Во-первых, в Firefox 66 для десктопов по умолчанию заблокируется автоматическое воспроизведение видео и звука на всех страницах. Блог Mozilla Hacks заранее предупреждает об этом разработчиков. Воспроизведение видео и звука разрешается только через HTMLMediaElement API и только после взаимодействия пользователя со страницей (щелчок мыши, нажатие кнопки или прикосновение к тачскрину).

В Chromium могут произойти ещё более интересные изменения.

При этом разрешено автоматическое воспроизведение видео с заглушённым звуком. Для такого контента нужно для HTMLMediaElement установить атрибут “muted” в значение true. На скриншоте показано, что пользователи могут вручную отключить блокировку звука для отдельных сайтов.

В Firefox для Android новая реализация заменит существующий механизм блокировки автоматического воспроизведения.

Технически Firefox блокирует вызов play() от HTMLMediaElement.play(), возвращая ошибку NotAllowedError. Так же поступают все браузеры с аналогичной функциональностью. Соответственно, веб-разработчикам не следует предполагать, что вызов play() всегда будет успешен. Чтобы избежать блокировки, рекомендуется два варианта. Первый: запускать воспроизведение контента в связке с обработчиком событий, например, KeyboardEvent на десктопе или touchend под Android. Второй: запустить автовоспроизведение без звука (оно разрешено по умолчанию) и показать пользователю кнопку для включения звука.

Финальная версия Firefox 66 запланирована к выходу на 19 марта 2019 года, так что у разработчиков есть время на подготовку.

Mozilla сейчас работает над автоматической блокировкой контента Web Audio: её обещают до конца 2019 года.

Бюджет для веб-страниц


Изменения в Chromium пока на стадии обсуждения. Не факт, что соответствующий коммит включат в основную ветку. Но идея очень интересная.

4 февраля 2019 года один из разработчиков Алекс Расселл представил коммит 1265506 («Never-Slow Mode»). Он предлагает внедрить в браузер дополнительный режим --enable-features=NeverSlowMode, который будет ограничивать бюджет каждой веб-страницы, тем самым гарантируя быструю загрузку.

Алекс Расселл — один из ведущих разработчиком Chrome, Blink и веб-платформы в Google, автор статьи «Вы можете себе это позволить? Бюджет веб-производительности в реальном мире», перевод которой публиковался на Хабре.


Иллюстрация из статьи Алекса Расселла

Предлагаемый бюджет:

  • Объём одной картинки: 1 МБ
  • Объём всех картинок: 2 МБ
  • Одна таблица стилей CSS: 100 КБ
  • Все таблицы стилей CSS: 200 КБ
  • Максимальный размер скрипта: 50 КБ

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

Очевидно, что бюджет следует периодически пересматривать, ориентируясь на время загрузки страницы.

Ожирение сайтов


Бюджетирование страниц — здравая идея. Многие пользователи и специалисты обращают внимание, что с годами программы и веб-приложения вовсе не становятся быстрее, несмотря на серьёзное повышение производительности компьютеров.

По какой-то причине запросы приложений растут быстрее, чем производительность железа. В результате с каждым годом софт становится медленнее, а веб-сайты жиреют.
Тенденция такова, что софт вовсе не становится быстрее и функциональнее. Мы получаем более быстрое оборудование, на котором софт с теми же функциями ворочается медленнее, чем раньше. Всё работает намного медленнее максимальной скорости. Никогда не задумывались, почему ваш телефон загружается от 30 до 60 секунд? Почему он не может загрузиться, скажем, за одну секунду? Здесь нет никаких физических ограничений. Лично мне бы такое понравилось. Хочется, чтобы разработчики достигли предела, используя каждый бит для производительности. — Из статьи «Моё разочарование в софте»
Возможно, бюджет веб-страниц поможет решить проблему, если другие разработчики Chromium согласятся на коммит Расселла.




+23
15.4k 25
Comments 40
Top of the day