Junior
Comment savoir si l'iframe a chargé?
sobes.tech IA
Réponse de l'IA
Il existe plusieurs méthodes :
-
Via l'événement
load: La méthode la plus courante et fiable.const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { // Code exécuté après le chargement de l'iframe console.log('iframe chargé !'); }; -
Via l'attribut
onloaden HTML :<iframe src="somepage.html" onload="iframeLoaded()"></iframe> <script> function iframeLoaded() { // Code après le chargement console.log('iframe chargé via l’attribut onload !'); } </script> -
Vérification de l’état
document.readyStateà l’intérieur de l’iframe (si vous avez accès au contenu de l’iframe) :const iframeElement = document.getElementById('myIframe'); iframeElement.onload = function() { const iframeDoc = iframeElement.contentDocument || iframeElement.contentWindow.document; if (iframeDoc.readyState === 'complete') { // Code après le chargement complet du DOM dans l’iframe console.log('DOM de l’iframe chargé complètement !'); } };Cette méthode est moins fiable pour déterminer si toutes les ressources (images, scripts) à l’intérieur de l’iframe sont chargées, l’événement
loadétant plus approprié. -
Utilisation de
addEventListener: Méthode plus moderne pour s’abonner à l’événement.const iframeElement = document.getElementById('myIframe'); iframeElement.addEventListener('load', function() { // Code après le chargement de l’iframe console.log('iframe chargé avec addEventListener !'); });
Le choix de la méthode dépend du contexte et des préférences, mais l’événement load est le plus universel et fiable pour déterminer le chargement complet de l’iframe, y compris toutes ses ressources.