TYPECHO文章页/独立页实现lazyload懒加载完美
前言
这个也是我在完善主题的时候,实现的一个小方法~
首先
引用公共库
在footer.php的body前添加以下代码
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="https://apps.bdimg.com/libs/jquery-lazyload/1.9.5/jquery.lazyload.min.js"></script>
<script type="text/javascript">
$("img.lazyload").lazyload();
</script>
替换代码
编辑post.php和page.php,找到如下代码
<?php $this->content(); ?>
替换为
<?php $content = preg_replace('/<img(.+)src=[\'"]([^\'"]+)[\'"](.*)>/i',"<img\$1data-original=\"\$2\" src=\"loading.svg\" class=\"lazyload\"\$3>\n<noscript>\$0</noscript>",$this->content); echo $content ?>
其中loading.svg就是你的默认加载图片
PJAX回调(未开启PJAX的请忽略)
如果使用了全站PJAX,则需要在complete事件中添加lazyload回调函数,打开主题目录下的footer.php,搜索pjax:complete',function(),添加如下代码
$("img.lazyload").lazyload();