DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JS iFrame加載慢怎麼解決
JS iFrame加載慢怎麼解決
編輯:關於JavaScript     

在項目中經常要動態添加iframe,然後再對添加的iframe進行相關操作,有時候會遇到iframe加載很慢什麼原因呢,該如何解決呢?帶著這個問題一起通過本文學習,尋找答案吧!

aaa.html

<HTML>
<HEAD>
<TITLE>aaa</TITLE>
</HEAD>
<BODY>
<IFRAME src="bbb.html" name=bbb width="100%" height="190"> </IFRAME>
<INPUT type="button" value="顯示text控件值" onclick="alert(bbb.document.all.txt.value)"> 
<SCRIPT LANGUAGE="JavaScript">
alert(bbb.document.all.txt.value);
</SCRIPT>
</BODY>
</HTML>

bbb.html

<HTML>
<HEAD>
<TITLE>bbb</TITLE>
</HEAD>
<BODY>
<input type=text name=txt value="guoguo"> 
</BODY>
</HTML>

問題:

執行上面的aaa.html發現代碼直接alert的值沒有打出來,而點擊按鈕卻可以打出其值。

分析:

頁面加載時,遇到iframe就直接跳過去,加載下面的內容,然後再回來加載iframe,當然也可以理解成遇到iframe又開了一個線程來加載iframe,但是因為涉及到新的IO操作比較耗時,所以加載完成iframe還是晚於頁面下部的js代碼執行,所以出現了上面的問題。

解決方法:

在js代碼中加個延遲(具體延遲多長時間可以憑個人經驗了),這樣就可以保證正常得到iframe中的對象了。

<SCRIPT LANGUAGE="JavaScript">
setTimeout("alert(bbb.document.all.txt.value)",1500);
</SCRIPT>

結論:當一個頁面中包含了iframe時,如果我們要通過js來操作iframe中的對象,一定要等到iframe加載完畢之後再操作,否則得不到想要的對象。

以上所述是小編給大家介紹的JS iFrame加載慢的解決辦法,希望對大家有所幫助,同時也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved