我们浏览有大图片文章的时候存在体验不友好的情况,图片懒加载可以很好的弥补这一问题。出于移动端轻量化的考虑,本案例不用jquery,使用更为小巧的LazyLoad.min.js,插件自己百度下载,下面开始eyou文章懒加载的具体优化使用。

1、找到application/function.php添加自定义文章内容输出方法

if (!function_exists('lazy_msubstr'))
{function lazy_msubstr($content='') {if (!empty($content)) {preg_match_all('/<img.*(\/)?>/iUs', $content, $imginfo);$imginfo = !empty($imginfo[0]) ? $imginfo[0] : [];if (!empty($imginfo)) {foreach ($imginfo as $key => $imgstr) {$imgstrNew = $imgstr;if(false !== strpos($imgstrNew, 'data-original')) {return $imgstrNew;}$mytemplate = \think\Config::get('template.view_path');$loading = $mytemplate.'images/xdunz.jpg';  //改成你默认显示的图片,可以是gif旋转动画图片,这里是放在模板images文件夹里//判断img标签是否有classif (!preg_match('/class/i', $imgstrNew)) {$imgstrNew = preg_replace('#<img([^>]+?)src=[\'"]?([^\'"\s>]+)[\'"]?([^>]*)>#', sprintf('<img ${1} class="lazy" src="%s" data-original="${2}" ${3}><noscript><img${1}src="${2}"${3}></noscript>', $loading), $imgstrNew);} else {$imgstrNew = preg_replace('#<img([^>]+?)src=[\'"]?([^\'"\s>]+)[\'"]?([^>]*)>#', sprintf('<img ${1} src="%s" data-original="${2}" ${3}><noscript><img${1}src="${2}"${3}></noscript>', $loading), $imgstrNew);$imgstrNew = preg_replace('/class(\s*)=(\s*)[\'|\"](.*?)[\'|\"]/i', 'class="${3} lazy"', $imgstrNew);}$content = str_ireplace($imgstr, $imgstrNew, $content);}}}return $content;}
}

2、前台调用

{$eyou.field.content|lazy_msubstr=###}

3、最后别忘了,引入js插件,并在适当地方初始化插件

$(".lazy").LazyLoad({ threshold: 200 });

EyouCMS文章图片懒加载相关推荐

  1. “懒”的妙用——浅析图片懒加载技术

    1.定义 图片懒加载是一种网页优化技术.图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间.为了解决这种问题,通过前 ...

  2. vue java图片懒加载_vue 实现图片懒加载功能

    一个页面图片比较多的时候,需要对界面的图片进行懒加载处理,今天遇到了,做个懒加载的笔记. 1,需要安装vue的懒加载插件. npm install vue-lazyload --save-dev 2, ...

  3. 前端性能优化的重要方案:图片懒加载

    大家好,我是前端岚枫,一枚二线城市的程序媛,今天主要跟大家分享我整理的前端性能优化的重要方案:图片懒加载,主要包括其原理,我们常用的一些插件,及编写源码实现图片懒加载功能等,图片懒加载是项目比较常见的 ...

  4. js实现审批流_小程序瀑布流组件:支持翻页与图片懒加载

    电商小程序中,用到瀑布流的地方非常多,每次都写一个瀑布流,重复一次逻辑,作为程序员,肯定是非常不愿意的. 瀑布流的形式都是大同小异,不同的是瀑布流中每个模块的内容,随业务而变化. 所以,我们把瀑布流框 ...

  5. swiper 定义放多少张图片_小程序瀑布流组件:支持翻页与图片懒加载

    (给前端大全加星标,提升前端技能) 作者:老人羽海 https://segmentfault.com/a/1190000022680541 电商小程序中,用到瀑布流的地方非常多,每次都写一个瀑布流,重 ...

  6. JavaScript两个实用的图片懒加载优化方法

    文章目录 一.方法一 二.方法二 InterSectionObserver 一.方法一 重点: 1.getBoundingClientRect().top > window.innerHeigh ...

  7. JS无限滚动、回到顶端和图片懒加载

    目录 前言 1 无限滚动(垂直) 1.1 效果和代码 1.2 过程解释 1.2.1 监听页面滚动 1.2.2 获取距页面底部的距离 2 回到顶端 2.1 效果和代码 2.2 过程解释 3 图片懒加载 ...

  8. layui图片懒加载-loading占位图

    前言 使用layui的图片懒加载,发现未加载的图片没有loading占位图,显示的是裂图,看着不是很好.找了一些解决方法我统一记录一下. layui图片懒加载使用方法 layui.use('flow' ...

  9. 聊一聊前端图片懒加载背后的故事

    本文内容 什么是懒加载 如何实现懒加载 监听滚动事件 IntersectionObserver 浏览器原生方案 本文小结 相信大家已经注意到我博客有了一点变化,因为博主最近利用空闲时间对博客进行了优化 ...

  10. java页面展示流式图片,javascript瀑布流式图片懒加载实例解析与优化

    之前写过一版图片"懒加载"的文章,刚好周末在整理文件的时候,大概又看了一遍之前写的代码发现有很多可以优化的地方. 这篇文章主要就是结合上篇<javascript瀑布流式图片懒 ...

最新文章

  1. 分割数组(将数组三等分)
  2. Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常
  3. Tomcat指定特定JDK版本
  4. 读书笔记-《大话数据结构》第二章算法
  5. angular2子组件的事件传递(任意组件事件传递)
  6. 盘点Linux下19 个有趣的命令!
  7. ODBC / OLEDB___DAO / RDO / ADO
  8. laragon环境更新安装新的php版本操作方法
  9. html剧场座位设计图,如何设计剧院座位,21个细部案例
  10. 配置Apache支持
  11. PHP发微信消息必须开网吗,关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题...
  12. 免杀技术有一套(免杀方法大集结)
  13. CS academy Binary Flips(dp)
  14. SLAM学习入门(1)针孔相机模型公式推导
  15. 搭建个人网站--域名解析(DNS)
  16. 第六章——图(1)——图的基本概念
  17. python复利计算_python复利代码
  18. html5游戏 很费流量嘛,2017TFC5玩游戏林勇坤 优化HTML5游戏流量数据转化
  19. 软件测试 | 手把手教你如何使用 Fiddler 抓包工具(电脑+手机端)
  20. Oracle I/O问题解析

热门文章

  1. 编写USB鼠标驱动程序,并测试
  2. xcode打包cordova项目生成ipa
  3. java线程的五种状态
  4. DRP(javaweb)系统
  5. 锐捷交换机查看配置命令
  6. autoCAD 使用选择集
  7. openGL加载obj三维模型
  8. GoAhead的asp过程与goform过程浅析
  9. AJax 遍历json对象数组 和Jstl遍历以及json解决日期转换
  10. java字符串的长度_java中如何统计一个字符串的长度