您好,登錄后才能下訂單哦!
這篇文章主要介紹“圖片的HTTP請求方法有哪些”,在日常操作中,相信很多人在圖片的HTTP請求方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”圖片的HTTP請求方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
請在主流瀏覽器中打開測試頁面,在Fiddler里查看http請求。
1. 隱藏圖片
<img src="1.jpg" style="display: none" />測試:test_1.html
結論:只有Opera不產生請求。
注意:用visibility: hidden隱藏圖片時,在Opera下也會產生請求。
2. 重復圖片
<img src="1.jpg" /><img src="1.jpg" />測試:test_2.html
結論:所有瀏覽器都只產生一次請求 。
3. 重復背景
<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
結論:所有瀏覽器都只產生一次請求。
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
結論:背景僅在應用的元素在頁面中存在時,才會產生請求。這對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
結論:Opera和Firefox對于用display: none隱藏的元素背景,不會產生HTTP請求。僅當這些元素非display: none時,才會請求背景圖片。
6. 多重背景
<style type="text/css"> .test1 { background: url(1.jpg); } .test1 { background: url(2.jpg); }</style><div class="test1">test1</div>測試:test_6.html
結論:除了基于webkit渲染引擎的Safari和Chrome,其它瀏覽器只會請求一張背景圖。
注意:webkit引擎瀏覽器對背景圖都請求,是因為支持CSS3中的多背景圖。
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
結論:觸發hover時,才會請求hover狀態下的背景。這會造成閃爍,因此經常放在同一張背景圖里通過翻轉來實現。
注意:在圖片no-cache的情況下,IE每次hover狀態改變時,都會產生一次新請求。很糟糕。
2009-05-13晚補充:上面的解釋有誤,更詳細的解釋請參考續篇。翻轉技巧指的是Sprite技術,例子:test_7b.html, 在ie6下不會產生閃爍。
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
結論:只有Opera不會馬上請求圖片。
注意:當添加到DOM樹上時,Opera才會發送請求。
9. 圖片預加載
最常用的是JS方案:
代碼如下:
<script type="text/javascript"> new Image().src = '1.jpg'; new Image().src = '2.jpg';</script>在無JS支持的環境下,可以采用隱藏元素來預加載:
<img src="1.jpg" />測試:test_9.html
到此,關于“圖片的HTTP請求方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。