Junior
Hoe weet je of de iframe is geladen?
sobes.tech AI
Antwoord van AI
Er zijn verschillende manieren:
-
Via het
load-evenement: De meest gebruikte en betrouwbare manier.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Code die wordt uitgevoerd na het laden van de iframe console.log('iframe geladen!'); }; -
Via het
onload-attribuut in HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Code na het laden console.log('iframe geladen via onload-atribuut!'); } </script> -
Controle van de
document.readyState-status binnen de iframe (als je toegang hebt tot de inhoud van de iframe):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Code na volledige laden van de DOM binnen de iframe console.log('DOM van de iframe volledig geladen!'); } };Deze methode is minder betrouwbaar om te bepalen of alle resources (afbeeldingen, scripts) binnen de iframe geladen zijn; het
load-evenement is hiervoor geschikter. -
Gebruik van
addEventListener: Een modernere manier om op het evenement te abonneren.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Code na het laden van de iframe console.log('iframe geladen met addEventListener!'); });
De keuze van de methode hangt af van de context en voorkeuren, maar het load-evenement is het meest universeel en betrouwbaar om de volledige lading van de iframe te bepalen, inclusief alle resources.