图片延迟加载插件 jquery.lazyload.js已更新到,1.9.7,目前正在开发一款主题,想把图像延迟加载功能集成到主题中,下面是一些必要的步骤。
1、加载jQuery
2、加载jquery.lazyload.js
3、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>
4、为图片自动添加 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文件夹,放一个loading.gif
5、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' )) . '" />'; ?>
6、替换gravatar头像调用标准函数:
<?php echo get_avatar( $comment, '32' ); ?>
也同样可以实现Wordpress头像延迟加载。
优点:只有浏览到图片位置时才加载图片,可以提高多图片页面的加载速度,减轻服务器负担。
缺点:可能会影响到搜索引擎对图片的收录,还有就是部分浏览器打开页面会出现空白...
7、官网
http://www.appelsiini.net/projects/lazyload