Junior
Wie erkennt man, dass iframe geladen wurde?
sobes.tech KI
Antwort von AI
Es gibt mehrere Möglichkeiten:
-
Über das
load-Ereignis: Die gebräuchlichste und zuverlässigste Methode.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Code, der nach dem Laden des iframes ausgeführt wird console.log('iframe geladen!'); }; -
Über das
onload-Attribut in HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Code nach dem Laden console.log('iframe geladen über das onload-Attribut!'); } </script> -
Überprüfung des
document.readyState-Zustands innerhalb des iframes (wenn Zugriff auf den iframe-Inhalt besteht):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Code nach vollständigem Laden des DOM im iframe console.log('iframe DOM vollständig geladen!'); } };Diese Methode ist weniger zuverlässig, um die Bereitschaft aller Ressourcen (Bilder, Skripte) im iframe zu bestimmen; das
load-Ereignis ist dafür besser geeignet. -
Verwendung von
addEventListener: Eine modernere Methode, um auf das Ereignis zu hören.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Code nach dem Laden des iframes console.log('iframe geladen mit addEventListener!'); });
Die Wahl der Methode hängt vom Kontext und den Präferenzen ab, aber das load-Ereignis ist am universellsten und zuverlässigsten, um das vollständige Laden des iframes einschließlich aller Ressourcen zu bestimmen.