凡客真正的圖片延遲加載 優化jquery.lazyload.js

由於用戶訪問頁面需要加載很多的圖片,延遲加載技術在電子商務網站領域越來越普及,淘寶商城,京東商城,凡客等訪問量巨大的電子商務站點爲了增加用戶用戶體驗,訪問速度以及減少對自身服務器的壓力,紛紛研發或使用延遲加載技術。當然如果沒有前端開發的深入研究很難寫出自己的js特效包。

   jquery.lazyload.js就是一個基於jquery框架庫的特效應用。它能讓用戶訪問頁面的時候,只加載當前屏幕所見內容的圖片。

    jquery.lazyload.js使用方法:首先頁面需導入jquery.js。這個是先決條件,畢竟jquery.lazyload.js特效包是基於jquery框架庫的!然後需到如Jquery.Lazyload.js。還需在本地服務器上傳一張用來佔位的圖片grey.gif(可以是張很小的圖片或者loading.gif之類表示正在加載的圖片)。

<script type="text/javascript" src="http://www.wumeiwang.com/js/lazyload/jquery.js"></script>
<script type="text/javascript" src="http://www.wumeiwang.com/js

/jquery.lazyload.js"></script>

 

<script type="text/javascript" src="http://pic.imtimmy.com/wp-content/js/lazyload/jquery.lazyload.js"></script>
<script type="text/javascript">
jQuery(document).ready(
function($){
$("img").lazyload({
     placeholder : http://www.wumeiwang.com/images/common/grey.gif,
     effect      : "fadeIn"
});
});
</script>


 但是如果使用httpwatch等網頁測試工具檢測頁面加載你會發現,圖片其實是全部加載完了。因爲執行js是在頁面的page_load之後。所有,jquery.lazyload.js加載出來的只是圖片的緩存文件。這樣不就2次訪問服務器加載圖片了?即使jquery.lazyload.js加載的只是緩存圖片...

      解決辦法:在jquery.lazyload.js的62行將 $(self).attr("original", $(self).attr("img"));  修改成 $(self).attr("original", $(self).attr("original"));   然後讀圖圖片的時候將img=  替換成    original=即可。凡客,淘寶商城都是這樣的作法。這樣才實現真正意義上的延遲加載。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章