打开网页,图片延迟加载

jerry thinkphp 2015年11月18日 收藏
昨天客户说我们网站打开速度很慢,我测试了一下,我自己这边打开速度很快,应该不是服务器带宽瓶颈,后来抓包发现,我们的首页图片太多(400多张),加起来有2.5M,客户那边网速可能比较慢,导致加载慢。
于是做了一个图片延迟加载的方案,会在页面整体加载完以后再加载图片。

首先,将模板中<img src=""/>全部改为<img imgsrc=""/>
然后在模板底部加上js代码:
<script>
function lazyloadimg(){
    imgs=document.getElementsByTagName("img");
    imgsnum=imgs.length;
    for(i=0;i<imgsnum;i++){
        if((typeof(imgs[i].src)=='undefined'||imgs[i].src=='')&&imgs[i].getAttribute('imgsrc')!=null){
            imgs[i].src=imgs[i].getAttribute('imgsrc');
        }
    }
}
lazyloadimg();
</script>