欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

為什么要少用Iframe的幾個(gè)原因分析

  發(fā)布時(shí)間:2012-09-05 21:40:55   作者:佚名   我要評(píng)論
iframes 提供了一個(gè)簡(jiǎn)單的方式把一個(gè)網(wǎng)站的內(nèi)容嵌入到另一個(gè)網(wǎng)站中。但我們需要慎重的使用iframe。iframe的創(chuàng)建比其它包括scripts和css的 DOM 元素的創(chuàng)建慢了 1-2 個(gè)數(shù)量級(jí)
下圖顯示創(chuàng)建 100 個(gè)不同的元素中iframe到底有多耗費(fèi)時(shí)間。

創(chuàng)建100個(gè) elements 的耗時(shí)

 

使用 iframe 的頁(yè)面一般不會(huì)包含太多 iframe,所以創(chuàng)建 DOM 節(jié)點(diǎn)所花費(fèi)的時(shí)間不會(huì)占很大的比重。但帶來(lái)一些其它的問(wèn)題:onload 事件以及連接池(connection pool)。

 Iframes 阻塞頁(yè)面加載

及時(shí)觸發(fā) window 的 onload 事件是非常重要的。onload 事件觸發(fā)使瀏覽器的 “忙” 指示器停止,告訴用戶(hù)當(dāng)前網(wǎng)頁(yè)已經(jīng)加載完畢。當(dāng) onload 事件加載延遲后,它給用戶(hù)的感覺(jué)就是這個(gè)網(wǎng)頁(yè)非常慢。

window 的 onload 事件需要在所有 iframe 加載完畢后(包含里面的元素)才會(huì)觸發(fā)。在 Safari 和 Chrome 里,通過(guò) JavaScript 動(dòng)態(tài)設(shè)置 iframe 的 SRC 可以避免這種阻塞情況。

 唯一的連接池

瀏覽器只能開(kāi)少量的連接到web服務(wù)器。比較老的瀏覽器,包含 Internet Explorer 6 & 7 和 Firefox 2,只能對(duì)一個(gè)域名(hostname)同時(shí)打開(kāi)兩個(gè)連接。這個(gè)數(shù)量的限制在新版本的瀏覽器中有所提高。Safari 3+ 和 Opera 9+ 可同時(shí)對(duì)一個(gè)域名打開(kāi) 4 個(gè)連接,Chrome 1+, IE 8 以及 Firefox 3 可以同時(shí)打開(kāi) 6 個(gè)。你可以通過(guò)這篇文章查看具體的數(shù)據(jù)表:Roundup on Parallel Connections.

有人可能希望 iframe 會(huì)有自己獨(dú)立的連接池,但不是這樣的。絕大部分瀏覽器,主頁(yè)面和其中的 iframe 是共享這些連接的。這意味著 iframe 在加載資源時(shí)可能用光了所有的可用連接,從而阻塞了主頁(yè)面資源的加載。如果 iframe 中的內(nèi)容比主頁(yè)面的內(nèi)容更重要,這當(dāng)然是很好的。但通常情況下,iframe 里的內(nèi)容是沒(méi)有主頁(yè)面的內(nèi)容重要的。這時(shí) iframe 中用光了可用的連接就是不值得的了。一種解決辦法是,在主頁(yè)面上重要的元素加載完畢后,再動(dòng)態(tài)設(shè)置 iframe 的 SRC。

美國(guó)前 10 大網(wǎng)站都使用了 iframe。大部分情況下,他們用它來(lái)加載廣告。這是可以理解的,也是一種符合邏輯的解決方案,用一種簡(jiǎn)單的辦法來(lái)加載廣告服務(wù)。但請(qǐng)記住,iframe 會(huì)給你的頁(yè)面性能帶來(lái)沖擊。只要可能,不要使用 iframe。當(dāng)確實(shí)需要時(shí),謹(jǐn)慎的使用他們。 

來(lái)源:英文原文   中文編譯: IT癮   

相關(guān)文章

  • iframe如何刷新的三種實(shí)現(xiàn)方案

    iframe如何刷新一直都被網(wǎng)友所關(guān)注,接下來(lái)為大家詳細(xì)介紹下三種:用iframe的name屬性定位/id屬性定位/當(dāng)iframe的src為其它網(wǎng)站地址時(shí),感興趣的朋友可以參考下哈
    2013-03-29
  • iframe的src設(shè)置為about:blank之后細(xì)節(jié)探討

    不設(shè)置為about:blank,內(nèi)存不會(huì)釋放掉。還必須用 iframe.document.write(''); 這樣才能將內(nèi)容清空,本文將詳細(xì)探討一下iframe的src設(shè)置為about:blank之后細(xì)節(jié),感興趣的你
    2013-02-25
  • iframe的src賦值問(wèn)題(服務(wù)器端)

    frame的src賦值的問(wèn)題,本文將進(jìn)行詳細(xì)探討:服務(wù)器端的iframe重新src重新賦值,給iframe加一個(gè)ID,再加上runat=server,感興趣的你可不要錯(cuò)過(guò)了哈
    2013-02-25
  • 網(wǎng)頁(yè)設(shè)計(jì)技巧:iframe自適應(yīng)高度的問(wèn)題

    所謂iframe自適應(yīng)高度,就是,基于界面美觀和交互的考慮,隱藏了iframe的border和scrollbar,讓人看不出它是個(gè)iframe
    2012-11-12
  • iframe標(biāo)簽用法詳解(屬性、透明、自適應(yīng)高度)

    iframe一般用來(lái)包含別的頁(yè)面,例如我們可以在我們自己的網(wǎng)站頁(yè)面加載別人網(wǎng)站的內(nèi)容,為了更好的效果,可能需要使iframe透明效果,那么就需要了解更多的iframe屬性,這里簡(jiǎn)
    2014-10-01
  • 三談Iframe自適應(yīng)高度代碼

    在構(gòu)建B/S系統(tǒng)界面的時(shí)候,經(jīng)常會(huì)遇到主頁(yè)面index.html中嵌套其他頁(yè)面的情況 ,雖然已經(jīng)有的庫(kù)已經(jīng)提供了控件(例如jQuery easy UI),但是有時(shí)候iframe的使用是不可避免的
    2010-08-06
  • 讓iframe透明的參數(shù)

    有時(shí)候需要讓iframe繼承父頁(yè)面的顏色。不需要復(fù)雜的操作,簡(jiǎn)單的幾個(gè)參數(shù)設(shè)置下即可。
    2010-07-21
  • IE6 select z-index無(wú)效,遮擋div bug的解決方法

    在最近的一個(gè)項(xiàng)目中,遇到了IE6 select遮擋div的bug,為了解決這個(gè)bug我查了很多資料,試圖找到一個(gè)最最有效的方法,很多人是通過(guò)iframe的方法來(lái)解決,其實(shí)我查了國(guó)外的很
    2010-06-18
  • Iframe 高度自適應(yīng)(兼容IE/Firefox、同域/跨域)

    在實(shí)際的項(xiàng)目進(jìn)行中,很多地方可能由于歷史原因不得不去使用iframe,包括目前正火熱的應(yīng)用開(kāi)發(fā)也是如此。
    2010-03-17
  • Iframe和FRAME的區(qū)別分析

    Iframe和FRAME的區(qū)別,方便大家以后在使用過(guò)程中根據(jù)實(shí)際需要取舍。
    2010-03-08

最新評(píng)論