Heim >Web-Frontend >js-Tutorial >Wie führe ich einen Rückruf aus, wenn ein IFRAME ohne direkten Zugriff auf Inhalte domänenübergreifend geladen wird?
Domainübergreifender IFRAME-Laderückruf
Sie müssen einen Rückruf ausführen, wenn ein IFRAME vollständig geladen wurde, ohne direkten Zugriff auf den IFRAME-Inhalt .
Lösung mit Timeout
Wie in der bereitgestellten Antwort erwähnt, ist der Zugriff auf den IFRAME-Body möglich, wenn sich die URL in derselben Domain befindet. Um das Problem zu beheben, dass der Rückruf keine Daten enthält, versuchen Sie, den IFRAME mithilfe einer Zeitüberschreitung zu entfernen:
<code class="javascript">$('#myUniqueID').load(function () { if (typeof callback == 'function') { callback($('body', this.contentWindow.document).html()); } setTimeout(function () {$('#frameId').remove();}, 50); });</code>
Dieser Ansatz verzögert die Entfernung des IFRAME, sodass der Rückruf Daten abrufen kann, bevor das Element zerstört wird.
Das obige ist der detaillierte Inhalt vonWie führe ich einen Rückruf aus, wenn ein IFRAME ohne direkten Zugriff auf Inhalte domänenübergreifend geladen wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!