NewLAN60.ru

Примеры из спецификации Preload.

(вариант спецификации от 26 июня 2019 года)

Технология preload (предварительная загрузка) позволяет, при открытии браузером страницы сайта, в первую очередь загружать с сервера на гаджет указанный файл или файлы. Другими словами, в коде страницы можно чётко прописать, что загружать первым.

Предварительная загрузка шрифта.

Если в коде страницы сайта стандартная запись, подобная font-family: Arial, Helvetica, sans-serif , то браузер использует шрифты, прошитые на гаджете. Если на сайте использовать собственный шрифт, загружаемый с вашего веб-сервера, для отображения на веб-странице, то необходима строка

<link rel=''preload'' href=''../fonts/font.ttf'' as=''font'' type=''font/ttf''>

Где font.ttf – название шрифта.
Сторонние шрифты браузер воспринимает во вторую очередь, поэтому внутри тега head нужно прописать тег link. Тогда, в начале будет загружен шрифт, а затем начнёт открываться страница.

Предварительная загрузка шрифта со стороннего сайта шрифтов.

<link rel=''preload'' href=''https://fonts.example.com/font.woff2'' as=''font'' crossorigin type=''font/woff2''>

Где crossorigin, это атрибут crossorigin. Его необходимо сохранять как написан для правильного использования ресурса.

Предварительная загрузка файла стилей.

<link rel="preload" href="../style/style.css" as="style">
Предварительная загрузка файла стилей через JavaScript.
<script>
var res = document.createElement("link");
res.rel = "preload";
res.as = "style";
res.href = "styles/style.css";
document.head.appendChild(res);
</script>

Предварительная загрузка неизвестного ресурса со стороннего сайта.

<link rel="preload" href="//example.com/resource" as="fetch" crossorigin>

Значения атрибута as.

Загружаемое Директива
Загружаемое<audio> Директива<link rel="preload" as="audio" href="...">
Загружаемое<video> Директива<link rel="preload" as="video" href="...">
Загружаемое<track> Директива<link rel="preload" as="track" href="...">
Загружаемое<script>, Worker importScripts Директива<link rel="preload" as="script" href="...">
Загружаемое<link rel=stylesheet>, CSS @import Директива<link rel="preload" as="style" href="...">
Загружаемое<CSS @font-face> Директива<link rel="preload" as="font" href="...">
Загружаемое<img>, <picture>, Srcset, ImageSet Директива<link rel="preload" as="image" href="...">
ЗагружаемоеSVG image, CSS image Директива<link rel="preload" as="image" href="...">
ЗагружаемоеXHR, fetch Директива<link rel="preload" as="fetch" crossorigin href="...">
ЗагружаемоеWorker, SharedWorker Директива<link rel="preload" as="worker" href="...">
Загружаемое<embed> Директива<link rel="preload" as="embed" href="...">
Загружаемое<object> Директива<link rel="preload" as="object" href="...">
Загружаемое<iframe>, <frame> Директива<link rel="preload" as="document" href="...">

Поддержка браузерами.

IE нет
Edge да (79)
Chrome (Windows) да (50)
Chrome (Android) да (95)
Firefox (Windows) да (85)
Firefox (Android) да (92)
Safari (Windows) да (11.1)
Safari (iOC) да (11.3)
Opera (Windows) да (37)
Opera Mini нет
Opera Mobile да (64)
Samsung Internet да (5)
Browser (Android) да (95)
UC Browser (Android) нет

Примечание.
Вероятно, другие современные браузеры также поддерживают технологию preload, но подтверждённой информации не найдено.
(79) – версия браузера с которой начинается поддержка.

Технология активно применяется, например, компанией Microsoft. Это скриншот кода страницы сайта https://support.microsoft.com/ru-ru

Скриншот, код страницы сайта, Microsoft

Предварительно загружается что-то из стилей.

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

МКС, модули, фото внутри

Технология позволяет открыть изображения сразу полностью, но время первоначальной загрузки незначительно увеличивается. Ведь фото составляют основную часть страницы, количество байт осталось прежним. Изменился только порядок поступления файлов с сервера.

Шапка браузера, адресная строка
Стрелка загрузки, направлена внизЗагрузить статью PDF 384kB