Вы можете избежать мерцания, добавив событие обратного вызова onLoad в. Как только вы включите функцию обратного вызова onLoad, вы сможете добавить в iframe и его содержимое. Вот как работает Lazy Loading. Пример:
<iframe id="ifrm" src="http://www.example.com" onload="showImage()"></iframe>
В приведенном выше примере Iframe отобразит ваш контент. Как только вышеупомянутый iframe завершит загрузку, он попытается вызвать функцию showImage (). Все, что вам нужно сделать, это определить showImage в вашем файле скрипта. Теперь вы можете использовать эту функцию, чтобы найти узел DOM iframe и изменить стиль, чтобы добавить его или показать (display: block). Пример:
<script>
function showImage() {
var iframe = document.getElementById('ifrm');
iframe.style.opacity = 1; // using opacity. You can transition this
iframe.style.display = 'block' // using display. No transition
}
</script>
Если вы хотите добавить его, вы можете добавить немного CSS в свой iframe, как показано ниже. Пример:
#ifrm {
opacity: 0; // Before the iframe load, make sure it is not visible
transition: 0.3s // This will make your iframe fade in on load
}
Надеюсь, это поможет.