document.write('
') 帝国cms+jquery.lazyload.js实现图片延迟懒加载极简方法 - 手工SEO

手工SEO

手工SEO首页 帝国教程 正文

帝国cms+jquery.lazyload.js实现图片延迟懒加载极简方法

手工SEO 2020-05-12 02:00:34 帝国教程 191℃ 手工SEO

如果你对网站速度优化有一定了解,或者你是用过百度统计提供的网站速度诊断工具的网站管理者,会知晓一件事:一个网站页面图片过多的话,加载时会导致网页打开变慢,甚至看得见“卡顿”的现象。这不仅会影响用户的浏览体验,也会影响到搜索引擎对网站的优劣评判及seo。


帝国cms+jquery.lazyload.js实现图片延迟懒加载极简方法


(如上图所示,相比于js等文本类文件,三个红色标注的图片文件,就算kb更小,加载时间亦要久很多)


对于较大型的、有专业程序员配置的网站运营者来说,为网站中的图片实现惰性加载(专业术语,俗称为延迟加载,懒加载),是一件正常不过的事。毕竟,懒加载不是什么新技术,好几年前就已经在较大的互联网站普及了。


那问题来了:什么是懒加载?


答:懒加载是一种网页交互呈现效果。通常而言,首次只加载第一屏(能看得见的)的图片,之后的图片则不加载(或只加载一个文件容量特别小的图片,称为占位图),如果用户拖动滚动条至后面某处位置(这处位置称为可视区域)则再加载图片,这样做的好处是避免网页因加载图片过多而打开慢的弊端。


两个字,提速!如果网站图片多,要提速,那懒加载就是web技术层面的标配。


提升网站页面加载速度,利于seo提升——懒加载好处看上去很多,只是要如何具体地用在自己的网站上呢?对于没有专业程序员参与的网站运营管理者来说,要实现懒加载并不是那么容易。


网上有一些教程,厉害的高手是自己写原生js来解决,更多快捷解决方案是使用jquery.lazyload.js插件,有示例代码及演示(请自行搜索或参见此处链接),这个插件的使用并不难,如果是从零开始构建一个页面,直接套用是没有问题的,可是要套用在帝国cms制作好的网站里,得用什么方式方法呢?


帝国cms+jquery.lazyload.js实现图片延迟懒加载极简方法


经过在学而行营销网的实践摸索,以下是帝国cms结合jquery.lazyload.js实现图片延迟懒加载的极简解决方法。


---------------------------------


首先,要下载jquery.lazyload.js的迷你压缩版,此js文件相当小,只有2k大小。


下载地址:


(jquery.lazyload.js依赖于jquery,如果网站没有用到jquery,那请下载jquery.js,下载地址:)


在帝国cms模板的head区域加载此两个js文件,代码如下:


<script src=”/skin/ecms084/js/common.js” type=”text/javascript“></script>


<script src=”/skin/ecms084/js/jquery.lazyload.min.js”></script>


确保网站空间里这哥俩已经上传并存在,并检查此两js文件的引用路径是否正确,还有先后顺序不要乱。


其次,就是需要一段自定义的js代码来实现懒加载,重点在这。学而行营销网的需求如下:


1:首页或列表页的图片式布局实现懒加载;


2:网站内容文章里的图片也比较多,最好能实现懒加载;


帝国cms+jquery.lazyload.js实现图片延迟懒加载极简方法


欲炼神功,必先自宫。菜鸟小白请先参考网上的教程,然后再回来。


1.jquery.lazyload.js图片延时加载插件使用教程


2.jQuery图片懒加载 lazyload.js使用方法(深入版)


3.jQuery图片延迟加载插件jQuery.lazyload


4.懒加载插件 – jquery.lazyload.js简单调用


5.织梦dedecms图片加data-original图片延时加载功能代码


第1项需求在帝国cms里比较好实现,因为在模板中用的是灵动标签,可以自行对<img>元素添加样式,尺寸及data-original等属性,依据教程中的范例就可以实现。例如下面的这段模板中的代码,就可以对<img>标签加上任何属性来达成目的。


[e:loop={‘news’,10,18,1,’istop=0 and firsttitle=0 and isgood=0′,’newstime DESC’}]


<li class=”clear”>


<div class=”imgarea fl”> <a href=”<?=$bqsr[‘titleurl’]?>” target=”_blank”><img src=”<?=$bqr[‘titlepic’]?>” alt=”<?=$bqr[‘title’]?>”> </a><span class=”cat”><a href=”<?=$bqsr[classurl]?>” target=”_blank”>


<?=$class_r[$bqr[classid]][classname]?>


</a></span> </div>


</li>


其中的<img>可以改成:<img src=”<?=$bqr[‘titlepic’]?>” alt=”<?=$bqr[‘title’]?>” width=”640″ height=”480″ data-original=”<?=$bqr[‘titlepic’]?>”>来符合jquery.lazyload.js的图片匹配要求。


上一篇:帝国cms7.2百度实时主动推送插件(半自动)

下一篇:jquery实现帝国cms当前导航高亮的实践演练

网站分类
标签列表