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

JS iFrame載入慢怎麼解決

高洛峰
發布: 2017-01-12 11:05:41
原創
2258 人瀏覽過

在專案中經常要動態加入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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板