圖片預加載

    對於圖片多的網站來講,資源加載特別是圖片的加載比較重要。若是圖片加載過慢致使網頁的渲染慢甚至讓http請求超時,這會直接致使用戶的體驗較差,讓人明顯以爲網頁卡。chrome

所以須要將圖片進行預加載,這樣網頁顯示的時候就不會有很明顯的停頓、卡着的感受。瀏覽器

    思路是當圖片加載時,先建立一個圖片對象,等圖片對象徹底加載完時出發圖片的的onload函數,在onload函數裏面觸發圖片加載完後的看成函數。這樣當圖片顯示時速度會比較快,就能夠達到讓人以爲圖片加載速度快。緩存

     ie、opera下,當圖片加載過一次之後,若是再有對該圖片的請求時,因爲瀏覽器已經緩存住這張圖片了,不會再發起一次新的請求,而是直接從緩存中加載過來。在ie,opera下,對於緩存圖片的初始狀態,與firefox和safari,chrome下是不同的,可是對onload事件的觸發,倒是一致的,無論是什麼瀏覽器。代碼以下:
function loadImage(url, callback) {   
    var img = new Image(); //建立一個Image對象,實現圖片的預下載    
    img.onload = function(){//圖片徹底加載完後
        img.onload = null;
        callback(img);
    }
    img.src = url;
}函數

相關文章
相關標籤/搜索