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