緩存圖片技術


有時候為了相應一些用戶的點擊,展示一張圖片,圖片比較大的化,當點擊事件觸發后,下載圖片可能需要一段比較長的事件。這個時候我們可以用一些技術,當用戶在做其他事情的時候,我們可以先把圖片加載進來。

客戶端js定義了一個專用的API來達到一個目的:為了強制讓圖片緩存起來,首先利用Image()構造函數來創建一個屏幕外圖片對象,之后將該對象的src屬性設置成期望的URL。

下面是兩個代碼判斷:

一:

1   <div>
2         <script>
3         var image = new Image();
4         image.src = "http://snowinmay.net/test/10.jpg";
5         </script>
6         <img src="10-1.jpg" alt="圖片" onmouseover="this.src='http://snowinmay.net/test/10.jpg'" onmouseout="this.src='10-1.jpg'">
7     </div>

二:

1   <div>
2         <img src="9-1.jpg" alt="圖片" onmouseover="this.src='http://snowinmay.net/test/9.jpg'" onmouseout="this.src='9-1.jpg'">
3     </div>

代碼一可以在加載頁面的同時偷偷的加載10.jpg這個圖片。當用戶點擊的時候,直接展現給用戶。代碼二的話頁面加載的時候不加載9.jpg,只有當用戶點擊的時候才去加載圖片,當網速不是很好的時候,就會有一個圖片加載的過程。

下面給出兩個具體的例子:

一:載入網頁同時加載圖片

http://snowinmay.net/index-419.html

二:載入網頁的時候不加載圖片

http://snowinmay.net/index-510.html

由這兩個例子明顯可以感覺到第二個頁面在點擊圖片的時候有一個加載過程,而第一個頁面則直接顯示圖片。

在一中多加的代碼:

1 <script>
2         window.onload = function(){
3             var image = new Image();
4             for (var i = 1; i <= 9; i++) {
5             var    url = "http://snowinmay.net/img/" + i + ".png";
6                 image.src = url;
7             };
8         }
9     </script>

 

注意:

1.做測試的時候需要清除緩存。

2.需要讓頁面加載完再測試。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM