Heim  >  Artikel  >  Web-Frontend  >  Wie kann festgestellt werden, ob ein iFrame geladen wurde und Inhalte enthält?

Wie kann festgestellt werden, ob ein iFrame geladen wurde und Inhalte enthält?

DDD
DDDOriginal
2024-10-24 20:06:02811Durchsuche

How to Determine if an iFrame Has Loaded and Contains Content?

So ermitteln Sie die iFrame-Last oder die Inhaltspräsenz

Problem:

Sie suchen nach einer Methode um festzustellen, ob ein iFrame erfolgreich geladen wurde oder Inhalte enthält, da Standardansätze möglicherweise nicht ausreichen. Die Bestimmung des Ladezustands ist entscheidend, um bestimmte Aktionen auszulösen oder Szenarien zu bewältigen, in denen das Laden übermäßig viel Zeit in Anspruch nimmt.

Lösung:

Um dieses Problem effektiv anzugehen, sollten Sie den folgenden Ansatz in Betracht ziehen:

<script><br>Funktion checkIframeLoaded() {</p>
<pre class="brush:php;toolbar:false">// Obtain the iFrame element
var iframe = document.getElementById('i_frame');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

// Evaluate loading status
if (  iframeDoc.readyState  == 'complete' ) {
    // Loading is completed; execute desired functionality
    afterLoading();
    return;
} 

// Loading is incomplete; re-check in 100 milliseconds
window.setTimeout(checkIframeLoaded, 100);

}

Funktion afterLoading(){

alert("I am here");

}


Dieses Skript funktioniert wie folgt:

  1. iFrame-Element abrufen: Das Skript findet das iFrame-Element anhand seiner ID.
  2. Ladestatus prüfen: Es untersucht die readyState-Eigenschaft des iFrames. Wenn es auf „abgeschlossen“ gesetzt ist, zeigt es an, dass der Ladevorgang abgeschlossen ist, und löst die Funktion afterLoading() aus.
  3. Rekursive Prüfung: Wenn der Ladevorgang nicht abgeschlossen ist, wartet das Skript 100 Millisekunden, bevor es erneut geladen wird. Auswerten des iFrame-Status. Dieser rekursive Ansatz stellt sicher, dass das Skript regelmäßig prüft, bis der Ladevorgang abgeschlossen ist.
  4. Benutzerdefinierte Funktion ausführen: Nach Abschluss kann die Funktion afterLoading() verwendet werden, um beliebige Aktionen auszuführen, wie z Anzeige einer Benachrichtigung oder Weiterverarbeitung des geladenen Inhalts.

Das obige ist der detaillierte Inhalt vonWie kann festgestellt werden, ob ein iFrame geladen wurde und Inhalte enthält?. 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