„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 07.11.2024
Durchsuche:398

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, befolgen Sie diese Schritte:

Erstellen Sie den IFRAME und den Load-Handler.

Erstellen Sie den IFRAME programmgesteuert:

var iFrameObj = document.createElement('IFRAME');
iFrameObj.src = url;

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

$(iFrameObj).load(function() {
  // handle iframe load
});

Auf IFRAME-Inhalte zugreifen und diese zerstören

Im Load-Handler auf den IFRAME-Inhalt zugreifen und ihn zerstören:

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

Zusätzliche Überlegungen

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

Beispiel

$('#myUniqueID').load(function() {
  if (typeof callback == 'function') {
    callback($('body', this.contentWindow.document).html());
  }
  setTimeout(function () {$('#frameId').remove();}, 50);
});
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729302797 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3