ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript で IFRAME の読み込みが完了したときにコールバックを実装するにはどうすればよいですか?

Javascript で IFRAME の読み込みが完了したときにコールバックを実装するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-19 11:19:29470ブラウズ

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

JavaScript コールバックによる Iframe のロード

IFRAME のロード完了時にコールバックを実行するには、次の手順に従います:

IFRAME とロード ハンドラーを作成します

IFRAME をプログラムで作成します:

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

IFRAME にロード ハンドラーを追加します:

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

IFRAME のコンテンツにアクセスして破棄します

ロード ハンドラー内で、IFRAME のコンテンツにアクセスして破棄します:

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

追加の考慮事項

  • 削除にタイムアウトを使用する場合は、IFRAME がロードできるように適切な遅延を設定してください。
  • コンテンツにアクセスできないため、クロスサイト リクエストを避けてください。
  • jQuery を使用してくださいブラウザ間の互換性と明示的なロード イベント用。

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

以上がJavascript で IFRAME の読み込みが完了したときにコールバックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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