欧美V国产V亚洲V日韩九九_国产偷V国产偷V亚洲高清_蜜桃精品免费久久久久影院_亚洲男同志Gay 片可播放

使用(yong)(yong) iframe 可以輕易的調用(yong)(yong)其(qi)(qi)他(ta)網站的頁面,但應謹慎使用(yong)(yong)。它比創建其(qi)(qi)他(ta) DOM 元素(包(bao)括(kuo) style 和 script)多耗費數十甚至數百倍的性能。值(zhi)得關心(xin)的是 onload 事件和連(lian)接池。

iframe 阻塞 onload

window 的 onload 事件(jian)盡(jin)快執行非常重要。這會讓瀏覽器的載入(ru)進度指示器完成,用戶(hu)依(yi)據此判斷頁(ye)面是否已(yi)經(jing)加(jia)載完。而(er) onload 事件(jian)延遲,會讓用戶(hu)感覺(jue)頁(ye)面變慢。

window 的(de) onload 事件直(zhi)到(dao)它所(suo)包含的(de)所(suo)有 iframe,以(yi)及所(suo)有 iframe 中的(de)資源完全加載完成后才(cai)會觸發。在 Safari 和 Chrome 中,用 javascritpt 動態的(de)給 iframe 的(de) src 賦值可以(yi)避免這種阻塞行為。

一個連接池

對(dui)每(mei)個(ge)(ge)(ge) web 服務器來說,瀏覽(lan)器只打開極少的(de)幾個(ge)(ge)(ge)連接(jie)數。老的(de)瀏覽(lan)器,包括 IE 6/7 和(he) Firefox 2,每(mei)個(ge)(ge)(ge)主機只有2個(ge)(ge)(ge)連接(jie)。在(zai)新的(de)瀏覽(lan)器中,連接(jie)數增(zeng)加(jia)鳥(niao)。Safari 3+ 和(he) Opera 9+ 增(zeng)至4個(ge)(ge)(ge),Chrome 1+ 、IE 8 及(ji) Firefox 3 增(zeng)至6個(ge)(ge)(ge)。

人們可能期望每個 iframe 有單獨的連接池,但并非如此。在大多數瀏覽器中,連接被主頁面和它的 iframe 所共享,這意味著有可能 iframe 中的資源占用了可用連接而阻塞了主頁面的資源加載。如果 iframe 中的內容同等重要,或比主頁面更重要,這很好。然而在通常情況下 iframe 中的內容對頁面來說不太重要,iframe 占用連接數是不可取的。一個解決方案是在優先級更高的資源下載完成后再動態的給 iframe 的 src 賦值。

美國的10大網站中有5個使用了 iframe。它們多數用來加載廣告。這不是很合適,但可以理解,這是一個簡便的在內容中插入廣告的途徑。在很多情況下,使用 iframe 是合理的。但要意識到這對你的頁面的性能影響。非必要時,請謹慎使用。