Maison > interface Web > js tutoriel > Comment vérifier de manière fiable l'état de chargement d'un iFrame en cas d'échec de « iframe.load() » ?

Comment vérifier de manière fiable l'état de chargement d'un iFrame en cas d'échec de « iframe.load() » ?

Mary-Kate Olsen
Libérer: 2024-10-25 06:19:02
original
901 Les gens l'ont consulté

How to Reliably Verify an iFrame's Loading Status When `iframe.load()` Fails?

Comprendre l'état de chargement d'un iFrame

Vérifier l'état chargé d'un iFrame est essentiel pour exécuter des actions une fois terminé ou détecter les échecs de chargement. Cet article aborde le défi de déterminer l'état chargé d'un iFrame avec des contraintes spécifiques.

Considérez le scénario suivant : un iFrame avec l'identifiant "myIframe" est chargé à l'aide du code fourni. Cependant, les temps de chargement varient, rendant difficile l'utilisation de l'événement "iframe.load()".

Solution : Vérification itérative

Pour pallier à ce problème, une vérification itérative Une approche peut être mise en œuvre. L'extrait de code suivant illustre cette stratégie :

<code class="javascript">function checkIframeLoaded() {
    // Get a handle to the iframe element
    var iframe = document.getElementById('i_frame');
    var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

    // Check if loading is complete
    if (iframeDoc.readyState == 'complete') {
        //iframe.contentWindow.alert("Hello");
        iframe.contentWindow.onload = function() {
            alert("I am loaded");
        };
        // The loading is complete, call the function we want executed once the iframe is loaded
        afterLoading();
        return;
    }

    // If we are here, it is not loaded. Set things up so we check the status again in 100 milliseconds
    window.setTimeout(checkIframeLoaded, 100);
}

function afterLoading() {
    alert("I am here");
}

window.onload = checkIframeLoaded();</code>
Copier après la connexion

Ce code vérifie de manière itérative la propriété "readyState" du document iFrame, garantissant la fin du chargement avant d'exécuter les actions souhaitées (par exemple, afficher un message d'alerte). La fonction "afterLoading()" est appelée une fois l'iFrame chargé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal