Junior
¿Cómo saber si el iframe ha cargado?
sobes.tech AI
Respuesta de la IA
Existen varias formas:
-
A través del evento
load: La forma más común y confiable.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Código que se ejecuta después de cargar el iframe console.log('¡iframe cargado!'); }; -
A través del atributo
onloaden HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Código después de cargar console.log('¡iframe cargado a través del atributo onload!'); } </script> -
Verificación del estado
document.readyStatedentro del iframe (si tienes acceso al contenido del iframe):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Código después de la carga completa del DOM dentro del iframe console.log('¡DOM del iframe cargado completamente!'); } };Este método es menos confiable para determinar la preparación de todos los recursos (imágenes, scripts) dentro del iframe, el evento
loades más adecuado para esto. -
Uso de
addEventListener: Forma más moderna de suscribirse al evento.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Código después de cargar el iframe console.log('¡iframe cargado usando addEventListener!'); });
La elección del método depende del contexto y las preferencias, pero el evento load es el más universal y confiable para determinar la carga completa del iframe, incluidos todos sus recursos.