Junior
Como saber se o iframe carregou?
sobes.tech IA
Resposta da IA
Existem várias formas:
-
Através do evento
load: A forma mais comum e confiável.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Código que é executado após o carregamento do iframe console.log('iframe carregado!'); }; -
Através do atributo
onloadem HTML:<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Código após o carregamento console.log('iframe carregado via atributo onload!'); } </script> -
Verificação do estado
document.readyStatedentro do iframe (se tiver acesso ao conteúdo do iframe):const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Código após o carregamento completo do DOM dentro do iframe console.log('DOM do iframe carregado completamente!'); } };Este método é menos confiável para determinar a prontidão de todos os recursos (imagens, scripts) dentro do iframe, sendo o evento
loadmais adequado. -
Uso de
addEventListener: Forma mais moderna de subscrição ao evento.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Código após o carregamento do iframe console.log('iframe carregado usando addEventListener!'); });
A escolha do método depende do contexto e preferências, mas o evento load é o mais universal e confiável para determinar o carregamento completo do iframe, incluindo todos os seus recursos.