ホームページ  >  記事  >  ウェブフロントエンド  >  コンテンツに直接アクセスせずに IFRAME がドメイン間でロードを完了したときにコールバックを実行するにはどうすればよいですか?

コンテンツに直接アクセスせずに IFRAME がドメイン間でロードを完了したときにコールバックを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-19 12:25:30217ブラウズ

How to Execute a Callback When an IFRAME Finishes Loading Across Domains Without Direct Content Access?

クロスドメイン IFRAME 読み込みコールバック

IFRAME コンテンツに直接アクセスせずに、IFRAME の読み込みが完了したときにコールバックを実行する必要があります.

タイムアウトによる解決策

提供された応答に記載されているように、URL が同じドメイン上にある場合、IFRAME 本文へのアクセスは可能です。コールバックにデータがない問題に対処するには、タイムアウトを使用して IFRAME を削除してみてください。

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

このアプローチにより、IFRAME の削除が遅れ、要素が破棄される前にコールバックがデータを取得できるようになります。

以上がコンテンツに直接アクセスせずに IFRAME がドメイン間でロードを完了したときにコールバックを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。