Как лучше всего отсрочить прогрузку iframe?

Пользователь

от jorge , в категории: JavaScript , год назад

Как лучше всего отсрочить прогрузку iframe?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от vicenta_kertzmann , год назад

@jorge 

Есть несколько способов отсрочить прогрузку iframe:

  1. Ленивая загрузка (Lazy loading): Используйте атрибут loading="lazy" в теге
1
<iframe src="..." loading="lazy"></iframe>


  1. JavaScript: Создайте пустой
1
2
3
4
5
6
7
8
9
<div id="iframeContainer"></div>

<script>
  setTimeout(function() {
    var iframe = document.createElement('iframe');
    iframe.src = "...";
    document.getElementById('iframeContainer').appendChild(iframe);
  }, 2000); // Задержка загрузки на 2 секунды
</script>


  1. Intersection Observer: Используйте Intersection Observer API для отслеживания, когда iframe становится видимым, а затем запустите его загрузку динамически.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<div id="iframeContainer"></div>

<script>
  var observer = new IntersectionObserver(function(entries) {
    entries.forEach(function(entry) {
      if (entry.isIntersecting) {
        var iframe = document.createElement('iframe');
        iframe.src = "...";
        document.getElementById('iframeContainer').appendChild(iframe);
        observer.unobserve(entry.target);
      }
    });
  });

  observer.observe(document.getElementById('iframeContainer'));
</script>


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