Heim  >  Artikel  >  Web-Frontend  >  Wie greife ich nach dem Laden auf IFRAME-Daten zu?

Wie greife ich nach dem Laden auf IFRAME-Daten zu?

Linda Hamilton
Linda HamiltonOriginal
2024-10-19 10:14:30252Durchsuche

How to Access IFRAME Data After it has Loaded?

Zugriff auf IFRAME-Daten nach dem Laden

Wenn ein IFRAME in eine Webseite eingefügt wird, kann nach Abschluss des Ladevorgangs ein Rückruf ausgeführt werden wesentlich sein. Allerdings kann die externe Kontrolle über den Inhalt des IFRAME eine Herausforderung darstellen.

Lösung: Nutzen Sie ein Timeout

Die Lösung liegt im Einsatz einer Timeout-Funktion. Hier ist eine Beispielimplementierung mit jQuery:

<code class="javascript">$('#myUniqueID').load(function () {
  if (typeof callback == 'function') {
    callback($('body', this.contentWindow.document).html());
  }
  setTimeout(function () { $('#frameId').remove(); }, 50);
});
</code>

Implementierungsdetails:

  • Wenn das Laden des IFRAME abgeschlossen ist, wird die Rückruffunktion ausgeführt.
  • Auf den Inhalt des IFRAME wird über dessen ContentWindow zugegriffen und HTML-Code abgerufen.
  • Nach der Ausführung des Rückrufs wird ein Timeout gesetzt, um den IFRAME zu entfernen und zu verhindern, dass er im DOM verbleibt.

Überlegungen:

  • Wenn sich die IFRAME-URL in Ihrer Domain befindet, ermöglicht diese Methode den Zugriff auf den Inhalt.
  • Für seitenübergreifende Anfragen , der Zugriff auf Inhalte kann aufgrund von ursprungsübergreifenden Richtlinieneinschränkungen eingeschränkt sein.

Das obige ist der detaillierte Inhalt vonWie greife ich nach dem Laden auf IFRAME-Daten zu?. 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