Heim  >  Artikel  >  Web-Frontend  >  Wie kann der Ladestatus eines iFrames zuverlässig überprüft werden, wenn „iframe.load()“ fehlschlägt?

Wie kann der Ladestatus eines iFrames zuverlässig überprüft werden, wenn „iframe.load()“ fehlschlägt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 06:19:02818Durchsuche

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

Verstehen des iFrame-Ladestatus

Die Überprüfung des Ladezustands eines iFrames ist wichtig, um Aktionen nach Abschluss auszuführen oder Ladefehler zu erkennen. In diesem Artikel geht es um die Herausforderung, den Ladestatus eines iFrames mit bestimmten Einschränkungen zu bestimmen.

Stellen Sie sich das folgende Szenario vor: Ein iFrame mit der ID „myIframe“ wird mithilfe des bereitgestellten Codes geladen. Allerdings variieren die Ladezeiten, was die Verwendung des Ereignisses „iframe.load()“ erschwert.

Lösung: Iterative Prüfung

Um dieses Problem zu beheben, wird eine iterative Prüfung durchgeführt Ansatz umgesetzt werden kann. Der folgende Codeausschnitt veranschaulicht diese Strategie:

<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>

Dieser Code überprüft iterativ die „readyState“-Eigenschaft des iFrame-Dokuments und stellt so sicher, dass der Ladevorgang abgeschlossen ist, bevor die gewünschten Aktionen ausgeführt werden (z. B. Anzeigen einer Warnmeldung). Die Funktion „afterLoading()“ wird aufgerufen, sobald der iFrame geladen wurde.

Das obige ist der detaillierte Inhalt vonWie kann der Ladestatus eines iFrames zuverlässig überprüft werden, wenn „iframe.load()“ fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn