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 サイトの他の関連記事を参照してください。