В ближайшем будущем в браузере Chrome на Android появится функция Blink LazyLoad. Эта функция останавливает загрузку веб-страниц до тех пор, пока сам пользователь не затребует остальные части веб-страницы. Остаются вопросы о том, как это повлияет на пользователей, которые хотят читать веб-страницы в автономном режиме, но для всех остальных это может стать следующим важным шагом в экономии мобильного трафика. Пока вы не прокрутите вниз, вся нижняя до этого невидимая часть страницы будет заморожена.

Существуют две части этой системы. Один из них — Blink LazyFrames, другой — Blink LazyImages. Загрузка фреймов откладывается, если фрейм является сторонним iframe, размером более 4 × 4. Система не откладывает загрузку сторонних фреймов, поскольку они совместно используют контекст javascript со страницей внедрения.

Функция поначалу записывает данные о том, сколько мобильных данных отложено на каждый фрейм. На данный момент система будет записывать 50 КБ на кадр и будет повторно добавлять 50 КБ, если фрейм будет загружен позже. Отложенные изображения будут вычисляться путем анализа полного размера ресурса из заголовка ответа Content-Range.

Функция LazyLoad в Chrome будет экономить мобильный трафик

Чтобы избежать размывания конструкции веб-страницы, прямоугольный заполнитель соответствующего размера будет вставлен везде, где загрузка изображения будет отложена. Как изображения переднего плана, так и фона будут отложены до тех пор, пока они не будут вызваны пользователем, то есть тогда, когда экран будет прокручен вниз. LazyLoad будет реализован в первую очередь на Android, поскольку «преимущества LazyLoad, скорее всего, окажут наибольшее влияние на Android». Если данная реализация будет успешной, будут рассмотрены и другие платформы, где поддерживается браузер Chrome.

В настоящий момент планируется реализовать LazyLoad как функцию по умолчанию. Пользователям потребуется использовать переключатель, если они не хотят использовать данную функцию. Каждая отдельная веб-страница будет иметь возможность отключать LazyLoad.

Тестирование функции начнется в приложении Chrome Dev в Google Play, если все пойдет как запланировано.