多くの場合、動的プロジェクトではiframeを追加し、その後、それを引き起こすもの、どのようにそれを解決するために、ゆっくりと、時には、出会いはiframe負荷をIFRAME関連の操作を追加しますか?この記事では、この質問と一緒に答えを見つけるために、学ぶために!
aaa.html
<HTML>
<HEAD>
<TITLE> AAA </ TITLE>
</ HEAD>
<BODY>
<IFRAME SRC = "bbb.html" 名前= BBB幅= "100%" 高さ= "190"> </ IFRAME>
<INPUT TYPE = "ボタン" 値= "显示テキスト控件值" onclickの= "警告(bbb.document.all.txt.value)">
<SCRIPT LANGUAGE = "JavaScriptを">
警告(bbb.document.all.txt.value)。
</ SCRIPT>
</ BODY>
</ HTML>
bbb.html
<HTML>
<HEAD>
<TITLE> BBB </ TITLE>
</ HEAD>
<BODY>
<input type =テキスト名= TXT値= "guoguo">
</ BODY>
</ HTML>
問題:
上記aaa.htmlの実装は、コードの値が直接警告が出て再生し、ボタンをクリックしますが、その値を再生することができなかったことがわかりました。サーバー上で実行するには注意してください。
分析:
ページのロードが、IFRAMEが直接ジャンプ以下の負荷が発生し、再びロードされたのiframeを来るときに遭遇したとして、当然のことながら、IFRAMEはインラインフレームをロードするためのスレッドを開いているが、それは新しいIO操作より多くの消費を伴うために理解することができますそのページの実行の下、したがって、上記の問題にIFRAMEまたは後期jsのコードをロードしたとき。
ソリューション:
プラスように、jsのコード内(遅延は個人的な経験に基づいていてもよい、特にどのくらい)の遅延は、通常のiframeオブジェクトがされていることを確認します。
<SCRIPT LANGUAGE = "JavaScriptを">
setTimeout( "警告(bbb.document.all.txt.value)"、1500);
</ SCRIPT>
結論:ページはインラインフレームが含まれている場合、我々はJSを通じてiframe内のオブジェクトを操作したい場合は、我々はそうでない場合は、目的のオブジェクトを取得していない、IFRAMEが再びロードされた後まで待たなければなりません。