Heim  >  Artikel  >  Web-Frontend  >  Wie gehe ich mit IFrame-Ladeereignissen in Javascript um, ohne auf Inhalte zuzugreifen?

Wie gehe ich mit IFrame-Ladeereignissen in Javascript um, ohne auf Inhalte zuzugreifen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-19 10:07:30911Durchsuche

How to Handle IFrame Loading Events in Javascript without Accessing Content?

Behandlung von IFrame-Ladeereignissen in Javascript

In Javascript ist die Ausführung eines Rückrufs nach Abschluss des IFRAME-Ladens möglich, auch wenn der IFRAME-Inhalt vorhanden ist unzugänglich. So erreichen Sie dies:

Methode:

  1. Erstellen Sie den IFRAME programmgesteuert und hängen Sie ihn an das DOM an.
  2. Verwenden Sie jQuery . Load()-Ereignishandler, um den Abschluss des IFRAME-Ladevorgangs zu erkennen.
  3. Verwenden Sie eine Zeitüberschreitung (z. B. 50 Millisekunden) innerhalb des Rückrufs, um die IFRAME-Entfernung zu verzögern und so den Datenabruf sicherzustellen.

Beispiel:

<code class="js">$('#myUniqueID').load(function () {
    if (typeof callback === 'function') {
        // Retrieve the IFRAME body content and pass it to the callback
        callback($('body', this.contentWindow.document).html());
        // Remove the IFRAME after a short delay to allow content retrieval
        setTimeout(function () { $('#myUniqueID').remove(); }, 50);
    }
});</code>

Hinweis: Wenn der IFRAME-Inhalt von einer anderen Domäne bereitgestellt wird, ist das Abrufen seines Hauptteils aufgrund der ursprungsübergreifenden Ressourcenfreigabe (Cross-Origin Resource Sharing, CORS) nicht möglich. Einschränkungen.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit IFrame-Ladeereignissen in Javascript um, ohne auf Inhalte zuzugreifen?. 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