Spec-Zone.ru › Web APIs

HTMLIFrameElement: свойство loading

Базовая линия 2023
Новое свойство

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

  • Подробнее
  • Полная совместимость
  • Отправить отзывы

Свойство loading интерфейса HTMLIFrameElement — это строка, которая даёт подсказку пользовательскому агенту, следует ли загружать iframe сразу при загрузке страницы или только тогда, когда он понадобится.

Это можно использовать для оптимизации загрузки содержимого документа. Iframes, которые видны при загрузке страницы, можно загружать сразу (жадно), а iframes, которые, скорее всего, будут вне области видимости при первоначальной загрузке страницы, можно загружать лениво — непосредственно перед тем, как они появятся в визуальном viewport окна.

Значение

Строка, которая даёт подсказку пользовательскому агенту, как лучше запланировать загрузку iframe. Возможные значения:

eager

Загрузить iframe как только элемент будет обработан. Это значение по умолчанию.

lazy

Загрузить iframe, когда браузер посчитает, что он, вероятно, понадобится в ближайшем будущем.

Примечания по использованию

Необходимо включить JavaScript

Отложенная загрузка происходит только при включённом JavaScript, независимо от значения данного свойства.

Это мера по борьбе с отслеживанием, так как если пользовательский агент поддерживал ленивую загрузку при отключённом скриптинге, сайт всё равно мог отслеживать приблизительное положение прокрутки пользователя в течение сессии, размещая iframes в разметке страницы таким образом, чтобы сервер мог отслеживать, сколько iframes было запрошено и когда.

Время события load

Событие load срабатывает, когда документ полностью обработан.

Лениво загруженные iframes не влияют на время срабатывания события load , даже если iframe находится в визуальном viewport и поэтому загружается при загрузке страницы. Все жадно загруженные iframes в документе должны быть загружены до того, как сможет сработать событие load.

Примеры

В примере ниже показано, как определить лениво загружаемый iframe, а затем добавить его в <div> документа. Фрейм будет загружен только тогда, когда он станет видимым.

// Define iframe with lazy loading
const iframe = document.createElement("iframe");
iframe.src = "https://example.com";
iframe.width = 320;
iframe.height = 240;
iframe.loading = "lazy";

// Add to div element with class named frameDiv
const frameDiv = document.querySelector("div.frameDiv");
frameDiv.appendChild(iframe);

Спецификации

Спецификация
HTML
# dom-iframe-loading

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
loading 77 79 121 60 16.4 77 121 55 16.4 12.0 77

См. также

  • Элемент <iframe>
  • Учебник: Производительность веб-приложений
  • Ленивая загрузка в руководстве по производительности веб-приложений на MDN
  • Пришло время ленивой загрузки вне области видимости iframes! на web.dev

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/loading

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API