Junior
Как да разберете дали iframe е заредил?
sobes.tech AI
Отговор от AI
Има няколко начина:
-
Чрез събитието
load: Най-често срещаният и надежден начин.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Код, който се изпълнява след зареждане на iframe console.log('iframe зареден!'); }; -
Чрез атрибута
onloadв HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Код след зареждане console.log('iframe зареден чрез атрибута onload!'); } </script> -
Проверка на състоянието
document.readyStateвътре в iframe (ако имате достъп до съдържанието на iframe):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Код след пълното зареждане на DOM вътре в iframe console.log('DOM на iframe е напълно зареден!'); } };Този метод е по-малко надежден за определяне на готовността на всички ресурси (изображения, скриптове) вътре в iframe, събитието
loadе по-подходящо. -
Използване на
addEventListener: По-модерен начин за абониране за събитие.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Код след зареждане на iframe console.log('iframe зареден с използване на addEventListener!'); });
Изборът на метод зависи от контекста и предпочитанията, но събитието load е най-универсалното и надеждно за определяне на пълното зареждане на iframe, включително всички негови ресурси.