Heim >Web-Frontend >js-Tutorial >Wie implementiert man einen Rückruf, wenn ein IFRAME mit Javascript geladen wird?

Wie implementiert man einen Rückruf, wenn ein IFRAME mit Javascript geladen wird?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-19 11:19:29556Durchsuche

How to Implement a Callback When an IFRAME Finishes Loading with Javascript?

Iframe mit Javascript-Rückruf laden

Um einen Rückruf auszuführen, wenn ein IFRAME vollständig geladen ist, führen Sie die folgenden Schritte aus:

Erstellen Sie den IFRAME und den Load-Handler

Erstellen Sie den IFRAME programmgesteuert:

<code class="javascript">var iFrameObj = document.createElement('IFRAME');
iFrameObj.src = url;</code>

Fügen Sie einen Load-Handler zum IFRAME hinzu:

<code class="javascript">$(iFrameObj).load(function() {
  // handle iframe load
});</code>

Greifen Sie auf IFRAME-Inhalte zu und zerstören Sie sie

Greifen Sie im Load-Handler auf die IFRAME-Inhalte zu und zerstören Sie sie:

<code class="javascript">function callback(iFrameObj) {
  // obtain iframe data
  var iframeData = $('body', iFrameObj.contentWindow.document).html();
  // destroy the iframe
  document.body.removeChild(iFrameObj);
}</code>

Zusätzliche Überlegungen

  • Stellen Sie sicher, dass Sie bei Verwendung von Zeitüberschreitungen zum Entfernen eine angemessene Verzögerung festlegen, damit der IFRAME geladen werden kann.
  • Vermeiden Sie standortübergreifende Anfragen, da auf deren Inhalte nicht zugegriffen werden kann.
  • Verwenden Sie jQuery für browserübergreifende Kompatibilität und explizite Ladeereignisse.

Beispiel

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

Das obige ist der detaillierte Inhalt vonWie implementiert man einen Rückruf, wenn ein IFRAME mit Javascript geladen wird?. 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