最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實(shí)測圖片的HTTP請求

  發(fā)布時(shí)間:2013-10-14 15:57:32   作者:佚名   我要評論
對于隱藏圖片和隱藏元素的背景,Opera不會(huì)產(chǎn)生請求;對于隱藏元素的背景,F(xiàn)irefox也不會(huì)產(chǎn)生請求,對圖片請求的處理上,個(gè)人覺得Opera走在前列,感興趣的朋友可以了解下本文

請?jiān)谥髁鳛g覽器中打開測試頁面,在Fiddler里查看http請求。

1. 隱藏圖片
<img src="1.jpg" style="display: none" />測試:test_1.html
結(jié)論:只有Opera不產(chǎn)生請求。
注意:用visibility: hidden隱藏圖片時(shí),在Opera下也會(huì)產(chǎn)生請求。

2. 重復(fù)圖片
<img src="1.jpg" /><img src="1.jpg" />測試:test_2.html
結(jié)論:所有瀏覽器都只產(chǎn)生一次請求 。

3. 重復(fù)背景
<style type="text/css">    .test1 { background: url(1.jpg) }    .test2 { background: url(1.jpg) }</style><div class="test1">test1</div><div class="test2">test2</div>測試:test_3.html
結(jié)論:所有瀏覽器都只產(chǎn)生一次請求。

4. 不存在的元素的背景
<style type="text/css">    .test1 { background: url(1.jpg) }    .test2 { background: url(2.jpg) } /* 頁面中沒有class為test2的元素 */</style><div class="test1">test1</div>測試:test_4.html
結(jié)論:背景僅在應(yīng)用的元素在頁面中存在時(shí),才會(huì)產(chǎn)生請求。這對CSS框架來說,很有意義。

5. 隱藏元素的背景
<style type="text/css">    .test1 { background: url(1.jpg); display: none; }    .test2 { background: url(2.jpg); visibility: hidden; }</style><div class="test1">test1</div>測試:test_5.html
結(jié)論:Opera和Firefox對于用display: none隱藏的元素背景,不會(huì)產(chǎn)生HTTP請求。僅當(dāng)這些元素非display: none時(shí),才會(huì)請求背景圖片。

6. 多重背景
<style type="text/css">    .test1 { background: url(1.jpg); }    .test1 { background: url(2.jpg); }</style><div class="test1">test1</div>測試:test_6.html
結(jié)論:除了基于webkit渲染引擎的Safari和Chrome,其它瀏覽器只會(huì)請求一張背景圖。
注意:webkit引擎瀏覽器對背景圖都請求,是因?yàn)橹С諧SS3中的多背景圖。

7. hover的背景加載
<style type="text/css">    a.test1 { background: url(1.jpg); }    a.test1:hover { background: url(2.jpg); }</style><a href="#" class="test1">test1</a>測試:test_7.html
結(jié)論:觸發(fā)hover時(shí),才會(huì)請求hover狀態(tài)下的背景。這會(huì)造成閃爍,因此經(jīng)常放在同一張背景圖里通過翻轉(zhuǎn)來實(shí)現(xiàn)。
注意:在圖片no-cache的情況下,IE每次hover狀態(tài)改變時(shí),都會(huì)產(chǎn)生一次新請求。很糟糕。
2009-05-13晚補(bǔ)充:上面的解釋有誤,更詳細(xì)的解釋請參考續(xù)篇。翻轉(zhuǎn)技巧指的是Sprite技術(shù),例子:test_7b.html, 在ie6下不會(huì)產(chǎn)生閃爍。

8. JS里innerHTML中的圖片
<script type="text/javascript">    var el = document.createElement('div');    el.innerHTML = '<img src="1.jpg" />';    //document.body.appendChild(el);</script>測試:test_8.html
結(jié)論:只有Opera不會(huì)馬上請求圖片。
注意:當(dāng)添加到DOM樹上時(shí),Opera才會(huì)發(fā)送請求。

9. 圖片預(yù)加載
最常用的是JS方案:

復(fù)制代碼
代碼如下:

<script type="text/javascript"> new Image().src = '1.jpg'; new Image().src = '2.jpg';</script>在無JS支持的環(huán)境下,可以采用隱藏元素來預(yù)加載:
<img src="1.jpg" style="visibility: hidden; height: 0; width: 0" />測試:test_9.html

終于到總結(jié)了

1.對于隱藏圖片和隱藏元素的背景,Opera不會(huì)產(chǎn)生請求。
2.對于隱藏元素的背景,F(xiàn)irefox也不會(huì)產(chǎn)生請求。
3.對于尚未插入DOM樹的img元素,Opera不會(huì)產(chǎn)生請求。
4.基于webkit引擎的Safari和Chrome,支持多背景圖。
5.其它情景,所有主流瀏覽器保持一致。
對圖片請求的處理上,個(gè)人覺得Opera走在前列。

番外

1. 用Fiddler監(jiān)控Opera時(shí),如果是本地服務(wù)器,需要在Opera的代理服務(wù)器設(shè)置里,將本地服務(wù)器勾選上。

2. 查看HTTP請求數(shù),還有一個(gè)萬無一失的方法是,直接查看Apache的access.log文件。

3. 我的Firefox對于重復(fù)圖片和重復(fù)背景,會(huì)產(chǎn)生重復(fù)請求。禁用了所有擴(kuò)展,問題依舊。有知詳情者,還望告知。

相關(guān)文章

最新評論

嘉义市| 新野县| 广丰县| 仪陇县| 河西区| 武安市| 青阳县| 苗栗县| 宣武区| 南漳县| 平利县| 连江县| 西藏| 太仆寺旗| 筠连县| 黔西县| 南川市| 得荣县| 安塞县| 京山县| 新营市| 赤壁市| 清水县| 宁陕县| 诸暨市| 辽阳县| 车致| 明溪县| 广平县| 凭祥市| 大冶市| 杂多县| 博爱县| 普定县| 镶黄旗| 永清县| 故城县| 巢湖市| 沁源县| 肇源县| 宁波市|