我们浏览有大图片文章的时候存在体验不友好的情况,图片懒加载可以很好的弥补这一问题。出于移动端轻量化的考虑,本案例不用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. python import io_详解Python IO编程
  2. 中国汽车涂料发展的初期
  3. SSIS - 5.优先约束
  4. C#通用类库--设置开机自运行禁用任务管理器注册表等操作
  5. Obejctive-C 中定义可变参函数
  6. gromacs 安装_带你入门带你飞 gromacs材料计算模拟系列
  7. 闲置服务器 虚拟服务器,闲置主机搭建服务器
  8. SharePoint 2010整体进行验证
  9. 运算符的优先级及有哪些运算符
  10. Android开发中Ant命令编译和APK签名的一些心得
  11. 5.企业安全建设入门(基于开源软件打造企业网络安全) --- 业务安全
  12. contentprovider java_访问不了自己创建的Contentprovider,报错:java.lang.SecurityException: Permission Denial...
  13. 如何便捷的获取AD(Altium Designer)封装、以及如何从PCB工程中导出封装库、封装库安装
  14. 简单爬虫 爬取百度图片并批量重命名
  15. CAS算法中的ABA问题的解决
  16. 基于itil的it运维管理体系
  17. 对Kindle进行可用性研究
  18. java verbose gc_java –verbose:gc
  19. java getday_Date类的getDay()和getDate()方法
  20. Linux环境重启系统网卡down,linux重启网卡命令有哪些

热门文章

  1. 串口通信基本接线方法
  2. 医院随访系统标准化流程之三级随访
  3. python灰色预测模型_GM(1,n)(灰色模型代码)
  4. java 数字转大写中文_java如何实现,把数字转换成中文的大写数字?
  5. python·文本分析
  6. 64位linux nvidia 32位,NVIDIA英伟达显卡驱动下载
  7. windows 域介绍
  8. SPSS学习资料汇总
  9. 阿里G6可视化双向箭头实现
  10. 使用YYLabel做文本竖向展示