ホームページ  >  記事  >  ウェブフロントエンド  >  IFrame がロードされ、JavaScript で対話できる状態になっているかどうかを確実に確認するにはどうすればよいですか?

IFrame がロードされ、JavaScript で対話できる状態になっているかどうかを確実に確認するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-25 02:50:02767ブラウズ

How to Reliably Check if an IFrame is Loaded and Ready for Interaction in JavaScript?

IFrame が読み込まれているか、コンテンツがあるかを確認する方法

読み込みにさまざまな時間がかかる可能性がある iframe を扱う場合、負荷ステータスを判断するために必要になります。この記事では、iframe が読み込まれているか、コンテンツがあるかを確認するための信頼できるソリューションを紹介します。

提供されたコードは、JavaScript の setTimeout 関数を利用して、iframe のステータスを定期的に確認します。ここで重要なのは、checkIframeLoaded 関数にあります。この関数は、再帰的アプローチを採用して、iframe の readyState プロパティを継続的にチェックします。

で示されるように、読み込みプロセスが完了しているかどうかreadyState 値が「complete」の場合、afterLoading 関数が呼び出されます。この関数は、iframe が読み込まれた後に必要なアクションを実行します。

コード スニペットは次のとおりです:

<code class="javascript">function checkIframeLoaded() {
    // Get iframe element
    var iframe = document.getElementById('i_frame');
    var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

    // Check loading status
    if (iframeDoc.readyState == 'complete') {
        // Loading complete, call afterLoading function
        afterLoading();
        return;
    } 

    // Not loaded, check again in 100 milliseconds
    window.setTimeout(checkIframeLoaded, 100);
}

function afterLoading(){
    alert("Iframe loaded");
}</code>

このソリューションを使用するには、HTML 本体タグにコードを含めるか、checkIframeLoaded を手動で行います。このアプローチは、さまざまな iframe の読み込み時間を効果的に処理し、iframe が完全に読み込まれるかコンテンツが追加された後にアクションを実行できるようにします。

以上がIFrame がロードされ、JavaScript で対話できる状態になっているかどうかを確実に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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