動的に挿入された iFrame で jQuery .ready が途中で起動するのはなぜですか?

Barbara Streisand
リリース: 2024-11-15 06:52:02
オリジナル
935 人が閲覧しました

Why Does jQuery .ready Fire Prematurely in Dynamically Inserted iFrames?

動的に挿入された iFrame と jQuery .ready イベント

jQuery の Thickbox プラグインを使用して galleria JavaScript ライブラリを含む iframe を動的に表示する場合、 $(document).ready イベントが iframe 内で途中で発生し、ガレリア コー​​ドが正しく適用されないという問題が発生する可能性があります。

根本原因

$( document).ready イベントは、親ドキュメントの準備完了状態に基づいて iframe の準備ができているかどうかを判断します。ただし、動的に挿入された iFrame では、iframe コンテンツ自体がまだ読み込まれていない場合でも、親の準備完了状態が iframe の準備ができていることを示す場合があります。

代替ソリューション

Aより信頼性の高いアプローチは、iframe 自体のロード イベントにバインドすることです。これにより、iframe のコンテンツの読み込みが完了したときにのみコードが実行されるようになります。

コード スニペット

function callIframe(url, callback) {
    $(document.body).append('<IFRAME>
ログイン後にコピー

load イベントを使用すると、タイミングを制御できます。コードの実行をより正確に把握し、動的に挿入された iFrame 内での時期尚早な実行を回避します。

以上が動的に挿入された iFrame で jQuery .ready が途中で起動するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート