Если при открытии страницы вы замечали задержку, особенно на сайтах с большим количеством видео и медиа, то грядущее обновление Chrome может решить проблему. На протяжении многих лет браузеры на базе Chromium — включая Microsoft Edge и Vivaldi — поддерживали ленивую загрузку. Однако она работала только для изображений и iframe. Для видео и аудио это было не совсем так. Скоро ситуация изменится. Благодаря предложению независимого разработчика Хельмута Янушки браузеры на базе Chromium готовятся получить нативную ленивую загрузку и для видео- и аудиоэлементов. И хотя это может звучать как небольшая техническая деталь, на практике это способно сделать работу в браузере заметно более плавной.
Как работает «ленивая загрузка»
Обычно при открытии веб-страницы браузер пытается загрузить все сразу: изображения, видео, аудио, рекламу — буквально весь контент. Очевидно, это не лучшим образом сказывается на скорости. Ленивая загрузка работает иначе. Вместо того чтобы подгружать все заранее, браузер откладывает загрузку и подгружает элементы только тогда, когда вы почти дошли до них на странице. Например, если видео или изображение находятся ниже, они не будут загружены, пока вы не прокрутите страницу ближе к ним. А если вы до них так и не дойдете, они могут вообще не загрузиться. В итоге страницы открываются быстрее, трафик расходуется экономнее, а работа в браузере становится более плавной.
Вот здесь начинается самое интересное. Сайты уже используют ленивую загрузку для видео и аудио, но чаще всего делают это через обходные решения на JavaScript. Это работает, но далеко не идеально. Обычно разработчики используют инструменты вроде Intersection Observer, чтобы отследить появление элемента в зоне видимости и вручную запустить его загрузку. Такой подход громоздкий, подвержен ошибкам и не всегда хорошо сочетается с нативными оптимизациями браузера. Предложение Хельмута Янушки упрощает эту схему: вместо дополнительного кода можно просто добавить нативный HTML-атрибут loading="lazy" прямо к видео и аудио. Это делает процесс значительно проще и чище.
Почему нативная поддержка важна
Когда браузер сам управляет ленивой загрузкой, он справляется с этим эффективнее:
- Браузер сам оптимально выбирает момент загрузки с учетом скорости сети;
- Исчезают задержки, связанные с выполнением JavaScript;
- Лучше используется встроенная оптимизация и сканеры предзагрузки;
- Загрузка страницы становится более плавной и предсказуемой.
Проще говоря, это решение делает загрузку чище, быстрее и эффективнее. Как отмечает Янушка, нововведение также выравнивает поведение видео и аудио с изображениями и iframe, делая работу сайтов более предсказуемой и единообразной.
Функция уже прошла несколько этапов внедрения в Chromium:
- Первая реализация — в январе;
- Появление в сборках — в феврале;
- Переход к распространению — в марте.
Судя по последним изменениям в коде, функция может быть включена по умолчанию в стабильных версиях браузера. Если внедрение продолжится по плану, она может стать доступной уже в Google Chrome 148.