Junior
Cum să știi dacă iframe-ul s-a încărcat?
sobes.tech AI
Răspuns de la AI
Există mai multe modalități:
-
Prin evenimentul
load: Cea mai comună și fiabilă metodă.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Cod care se execută după încărcarea iframe-ului console.log('iframe încărcat!'); }; -
Prin atributul
onloadîn HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Cod după încărcare console.log('iframe încărcat prin atributul onload!'); } </script> -
Verificarea stării
document.readyStateîn interiorul iframe-ului (dacă ai acces la conținutul iframe-ului):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Cod după încărcarea completă a DOM-ului din interiorul iframe-ului console.log('DOM-ul iframe-ului a fost încărcat complet!'); } };Această metodă este mai puțin fiabilă pentru a determina dacă toate resursele (imagini, scripturi) din interiorul iframe-ului sunt încărcate; evenimentul
loadeste mai potrivit. -
Utilizarea
addEventListener: O metodă mai modernă de abonare la eveniment.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Cod după încărcarea iframe-ului console.log('iframe încărcat folosind addEventListener!'); });
Alegerea metodei depinde de context și preferințe, dar evenimentul load este cel mai universal și fiabil pentru a determina încărcarea completă a iframe-ului, inclusiv toate resursele sale.