WordPress图片延迟加载
之前《jQuery实现图片延迟加载》一文的方法,其实图片并未真正实现延迟加载,只是在窗口滚动到图片位置时才显示图片而已,是个假像。目前这个图片延迟加载插件 jquery.lazyload.js已更新,最新版本是1.9.3,并给出真正实现图片延迟加载的方法。
效果演示
新版 jquery.lazyload.js 插件,要求必须给图片地址添加一个data-original属性,
- <img class=“lazy” data-original=“img/example.jpg” width=“640” height=“480”>
有占位图的写法:
- <img class=“lazy” src=“img/lazy.gif” data-original=“img/example.jpg” width=“640” height=“480”>
这样才能启用延迟加载。说明请到官网查看:Lazy Load Plugin for jQuery
具体实现方法:
一、添加必要的JS文件
首先下载相关JS文件,并放到主题“js”文件夹中
将下面代码添加到主题头部header.php模板中:
展开代码展开
- <script src=“<?php echo get_template_directory_uri(); ?>/js/jquery.min.js” type=“text/javascript”></script>
- <script src=“<?php echo get_template_directory_uri(); ?>/js/jquery.lazyload.min.js” type=“text/javascript”></script>
- <script type=“text/javascript”>
- $(function() {
- $(“img”).lazyload({
- effect:”fadeIn”
- });
- });
- </script>
二、为图片自动添加 data-original 属性
按官网的要求插入图片时必须添加一个data-original属性,手动添加很麻烦,还好有人已提供自动为图片添加data-original 属性的方法,将下面代码添加到主题 functions.php 中:
展开代码展开
- add_filter (‘the_content’, ‘lazyload’);
- function lazyload($content) {
- $loadimg_url=get_bloginfo(‘template_directory’).’/img/loading.gif’;
- if(!is_feed()||!is_robots) {
- $content=preg_replace(‘/<img(.+)src=[‘”]([^'”]+)[‘”](.*)>/i’,”<img$1data-original=”$2″ src=”$loadimg_url”$3>n<noscript>$0</noscript>“,$content);
- }
- return $content;
- }
将一张加载动画图片放到主题图片文件夹img中
另外,wordpress头像延迟加载,可以用下面的代码:
展开代码展开
- <?php echo ‘<img class=“avatar” src=“‘ . get_bloginfo(‘template_directory’) . ‘/img/loading.gif” alt=“avatar” data-original=“‘ . preg_replace(array(‘/^.+(src=)(“|’)/i’, ‘/(“|’)sclass=(“|’).+$/i’), array(”, ”), get_avatar( $comment, ’64’ )) . ‘” />‘; ?>
替换gravatar头像调用标准函数:
- <?php echo get_avatar( $comment, ’32’ ); ?>
也同样可以实现Wordpress头像延迟加载。
优点:只有浏览到图片位置时才加载图片,可以提高多图片页面的加载速度,减轻服务器负担。
缺点:可能会影响到搜索引擎对图片的收录,还有就是部分浏览器打开页面会出现空白…
具体效果看下页的图片延迟加载演示:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
写给所有做网站的朋友的一封信
现在就开始执行“1+N”互联网推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体互联网推广吧,我们和你一起,开创互联网大未来!