Секретная функция загрузки в Google Chrome может ускорить просмотр веб-страниц.

Если вы когда-либо открывали веб-страницу и задавались вопросом, почему ей требуется секунда, чтобы загрузиться, особенно если она насыщена видео и медиаконтентом, то грядущее изменение может наконец-то это исправить. В течение многих лет браузеры на основе Chromium — включая Microsoft Edge и Vivaldi — поддерживали отложенную загрузку. Но только для изображений и iframe. С видео и аудио ситуация несколько иная. Но это скоро изменится. Благодаря предложению независимого разработчика Хельмута Янушки, браузеры на основе Chromium готовятся к поддержке нативной отложенной загрузки также для видео- и аудиоэлементов. И хотя это звучит как техническая сноска, это может значительно упростить просмотр веб-страниц.

Что на самом деле делает отложенная загрузка (и почему это важно)

Обычно, когда вы открываете веб-страницу, ваш браузер начинает работать в усиленном режиме, пытаясь загрузить всё сразу: изображения, видео, аудио, рекламу — всё подряд. Неудивительно, что это не очень хорошо для скорости. Ленивая загрузка использует более разумный подход. Вместо того чтобы загружать всё сразу, браузер ждёт и загружает контент только тогда, когда вы собираетесь его увидеть. Таким образом, если видео или изображение находятся ниже на странице, они не загрузятся, пока вы не прокрутите страницу до нужного места, а если вы до него так и не доберётесь, они могут вообще не загрузиться. В результате — более быстрая загрузка страниц, меньшее потребление данных и более плавная работа в браузере.

Вот тут-то и начинается самое интересное. Веб-сайты уже используют отложенную загрузку видео и аудио, но в основном полагаются на обходные пути с помощью JavaScript для её реализации. Это выполняет свою задачу, но далеко не элегантно. Разработчики обычно используют такие инструменты, как Intersection Observer, чтобы определять, когда медиаконтент попадает в область просмотра, а затем запускать загрузку вручную. Это несколько неуклюже, может быть чревато ошибками и не всегда хорошо сочетается со встроенными оптимизациями браузера. Предложение Янушки направлено на решение этой проблемы. Вместо всего этого дополнительного скрипта разработчики могут просто добавить собственный HTML-атрибут loading="lazy" непосредственно к элементам видео и аудио, что значительно упростит весь процесс.

Почему нативная поддержка так важна

Когда браузер берет на себя отложенную загрузку, он просто делает это лучше:

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

Проще говоря, это чище, быстрее и эффективнее. Как подчеркнул Янушка, это также приводит видео и аудио в соответствие с тем, как уже ведут себя изображения и iframe, что обеспечивает более согласованный и предсказуемый пользовательский опыт в интернете. Эта функция разрабатывается в рамках конвейера Chromium:

  • Впервые внедрено в январе.
  • Включено в сборки к февралю
  • В марте начался этап отгрузки.

Недавние изменения в коде позволяют предположить, что эта функция может быть включена по умолчанию в стабильных сборках. Если все будет продолжаться в соответствии с ожиданиями, она может появиться в Chrome 148.