Heim >Web-Frontend >js-Tutorial >**Wie kann man zuverlässig feststellen, ob ein iFrame geladen wurde und Inhalte enthält?**
In der Webentwicklung ist es oft notwendig, Inhalte dynamisch in einen iFrame zu laden. Um die ordnungsgemäße Funktionalität sicherzustellen und mögliche Fehler zu vermeiden, ist es wichtig festzustellen, wann der iFrame erfolgreich geladen wurde und Inhalte enthält.
Problem:
Stellen Sie sich einen iFrame mit variablem Ladevorgang vor Zeit. Sie benötigen eine Möglichkeit zu erkennen, ob der iFrame den Ladevorgang abgeschlossen hat oder Inhalte erfasst hat. Ansätze wie iframe.contents().find() oder iframe.load(function()) sind möglicherweise nicht immer machbar.
Lösung:
Hier ist ein JavaScript Funktion, die effektiv den Ladezustand eines iFrames prüft:
<code class="javascript">function checkIframeLoaded() { // Get iframe reference var iframe = document.getElementById('i_frame'); var iframeDoc = iframe.contentDocument || iframe.contentWindow.document; // Check if loading is complete if (iframeDoc.readyState == 'complete') { // Loading is complete afterLoading(); return; } // Set timeout for re-checking window.setTimeout(checkIframeLoaded, 100); } function afterLoading(){ // Execute desired code after iFrame load }</code>
Im
Fügen Sie in Ihrem HTML-Dokument Folgendes hinzu:<code class="html"><body onload="checkIframeLoaded();"></code>
Diese Funktion überprüft regelmäßig die readyState-Eigenschaft des iFrames, die seinen Ladestatus angibt. Wenn readyState den Wert „complete“ hat, wurde der iFrame geladen und Sie können jeden gewünschten Code über die Funktion afterLoading() ausführen.
Das obige ist der detaillierte Inhalt von**Wie kann man zuverlässig feststellen, ob ein iFrame geladen wurde und Inhalte enthält?**. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!