首頁 >web前端 >js教程 >JS iFrame載入慢怎麼解決

JS iFrame載入慢怎麼解決

高洛峰
高洛峰原創
2017-01-12 11:05:412214瀏覽

在專案中經常要動態加入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加載慢的解決辦法,希望對大家有所幫助,同時也非常感謝大家對PHP中文網的支持!

更多JS iFrame載入慢怎麼解決相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn