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

IFRAME の読み込み完了時にコールバックを実行するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-19 11:33:01677ブラウズ

How to Execute a Callback When an IFRAME Completes Loading?

IFRAME 読み込み完了時にコールバックを実行する

IFRAME を使用する場合、読み込みプロセスの完了後にコールバックを実行することが重要な要件となる場合があります。 。ただし、このタスクは、特に IFRAME のコンテンツを制御できない場合には困難になる可能性があります。

この問題に対処するには、IFRAME 作成の変更やタイムアウト メカニズムの組み込みなどの手法を採用できます。プログラムで IFRAME を作成すると、IFRAME にイベント リスナーを追加できるようになります。次のコードは、これを実現する方法を示しています。

<code class="javascript">$(iFrameObj).load(function() {
  document.body.removeChild(iFrameObj);
  setTimeout(function() {
    callback(iFrameObj.innerHTML);
  }, 50);
});</code>

このコード スニペットで示されているように、「load」イベント リスナーは、作成後に IFRAME にアタッチされます。ロードが完了すると、IFRAME は DOM から削除され、IFRAME が存在しなくなった後にコールバックが確実に実行されるように、短いタイムアウトが導入されます。このタイムアウト バッファは、ブラウザの動作における潜在的な不一致を考慮しています。

このメソッドは、IFRAME の URL がドメイン内にあることを前提としていることに注意してください。クロスサイトリクエストの場合、ブラウザのセキュリティ対策により IFRAME のコンテンツへのアクセスが制限されるため、別のアプローチが必要になる場合があります。

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

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