このプロジェクトでは、多くの場合、IFRAMEを動的に追加してから、追加されたIFRAMEで関連操作を実行する必要があります。場合によっては、iframeが非常にゆっくりとロードする理由とそれを解決する方法に遭遇することがありますか?この質問でこの記事を学び、答えを見つけましょう!
aaa.html
<html> <head> <title> aaa </title> </head> <body> <iframe src = "bbb.html" name = bbb> </iframe> <入力タイプ= "ボタン"値 "bulation Language = "JavaScript"> alert(bbb.document.all.txt.value); </script> </body> </html>
bbb.html
<html> <head> <title> bb </title> </head> <body> <入力タイプ= txt name = txt value = "googuo"> </body> </html>
質問:
上記のAAA.htmlを実行して、コードが直接入力されていないことを確認しますが、ボタンをクリックすると値が生成される可能性があります。
分析:
ページが読み込まれると、iframeに遭遇したときに、それを飛び越えて、次のコンテンツをロードしてから、iframeを読み込みます。もちろん、iframeに遭遇したときにスレッドを開いてiframeをロードすることも理解できます。ただし、新しいIO操作を伴うのは時間がかかるため、iframeのロードはページの下部にあるJSコード実行よりもまだ遅れているため、上記の問題が発生します。
解決:
JSコードの遅延(特定の遅延は個人的な経験に基づいている場合があります)を追加して、iFrameのオブジェクトが正常に取得されるようにします。
<Script Language = "JavaScript"> setimeout( "alert(bbb.document.all.txt.value)"、1500); </script>
結論:iframeがページに含まれている場合、JSを介してiframeのオブジェクトを操作する場合は、操作する前にiframeがロードされるまで待つ必要があります。そうしないと、目的のオブジェクトを取得しません。
上記は、編集者が紹介したJS iframeの負荷を遅くするための解決策です。それがあなたに役立つことを願っています。同時に、wulin.comのウェブサイトへのご支援に感謝します!