图片懒加载,作为性能优化的一部分,想必我们并不陌生。

在React、Vue项目中,我们都可以引入对应的NPM包处理图片懒加载,如 lazyload、react-lazyload、vue-lazyload等。

那么,如果图片并不是直接通过接口的某个字段返回,而是包含在接口返回的富文本内容中,此时如果富文本的内容较多,尤其包含多个图片,首屏加载页面时,一次性渲染所有文本图片资源,自然会比较耗费性能。那么,富文本图片懒加载该如何实现呢?

本文以React项目为例,介绍一下富文本图片懒加载解决方案。

一、安装依赖:

cnpm 

二、引入对应模块:

import 

三、将返回的字符串转换为React节点:

直接上代码实现:

parseStrToReact 

其中,Lazyload组件的属性height根据业务场景自定义图片渲染后的真实高度;

四、获取最终渲染的文本内容:

getContent 

注意,此时try/catch的使用,如果富文本处理异常可以使用dangerouslySetInnerHTML作为兼容;

五、在render中使用:

render 

以上即为在React项目中处理富文本图片懒加载的解决方案,如果在Vue项目中,同样可以参考以上思路,欢迎大佬们发表看法,提出更多的解决方案。

html加载富文本_富文本图片懒加载解决方案相关推荐

  1. document引用图片的src属性能干嘛_如何实现图片懒加载

    背景 图片懒加载是针对图片加载时机的一种优化,在一些图片量比较大的网站(比如电商网站首页,或者团购网站.小游戏首页等),如果我们尝试在用户打开页面的时候,就把所有的图片资源加载完毕,那么很可能会造成白 ...

  2. iframe懒加载_如何实现图片懒加载

    背景 图片懒加载是针对图片加载时机的一种优化,在一些图片量比较大的网站(比如电商网站首页,或者团购网站.小游戏首页等),如果我们尝试在用户打开页面的时候,就把所有的图片资源加载完毕,那么很可能会造成白 ...

  3. Java对图片懒加载_[Java教程]JQuery实现图片懒加载_星空网

    JQuery实现图片懒加载 2018-08-16 0 懒加载的原因: 对于图片过多的场景,为了提高页面的加载速度,降低服务器的负载,增强用户体验,我们对还没出现在视野的图片先不加载,当元素出现在我们视 ...

  4. Python网络爬虫之图片懒加载技术、selenium和PhantomJS

    引入 今日概要 图片懒加载 selenium phantomJs 谷歌无头浏览器 知识点回顾 验证码处理流程 今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材ht ...

  5. Python:图片懒加载技术

    一. 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import reques ...

  6. [js] 图片懒加载

    懒加载使用场景 在一些图片量比较大的场景(电商首页,小程序首页等),如果我们打开页面时就加载所有的图片,那势必会导致页面的卡顿以及白屏,给用户不好的体验,导致用户流失. 但是我们仔细想一下,用户真的需 ...

  7. 列表懒加载和图片懒加载

    参考链接整理: element-ui自带的图片懒加载指令和列表懒加载指令 element-ui 图片懒加载 element-ui 列表懒加载 原理和原生js:图片懒加载 如何用原生js实现图片懒加载( ...

  8. 微信小程序全栈开发实践 第二章 微信小程序组件介绍及使用 -- 2.10 image组件,如何实现图片懒加载?

    一.与image组件有关的技术问题 1.1 什么是WebP? webp是image组件的一个boolean属性,开启这个属性之后,代表url可以设置webp这种格式的图片.webP是一种同时提供了有损 ...

  9. 【面试题】图片懒加载

    是什么? 图片懒加载是前端页面优化的一种方式,根据图片是否出现在可视区域的范围内进行相应图片的请求显示(结合滚动加载). 为什么? 如果页面中需要显示很多图片的时候,当我们一味地使用<img&g ...

最新文章

  1. 再看nf_conntrack: table full问题
  2. python多线程下载百度网盘_python多线程突破百度云限速下载
  3. js数组 sort方法的分析
  4. MyEclipse中jsp编码设置
  5. 基于select模型的TCP服务器
  6. Ubuntu下selenium+Chrome的安装使用
  7. java炸弹人素材_炸弹人图片_炸弹人模板_炸弹人设计素材下载
  8. android 屏蔽快速点击,Android-如何防止用户过快频繁点击按钮(一)
  9. Qt4_子类化QTableWidgetItem
  10. 电子科大计算机操作系统ppt,电子科大计算机操作系统实验报告级.docx
  11. python画反比例函数_反比例光滑支撑向量机
  12. 最小二乘法和极大似然估计
  13. 网络工程师Day2---实验2-1:HDLC和PPP配置
  14. 用户金字塔模型的应用:知乎案例分析
  15. Cadence16.6 最新83号补丁下载-Hotfix_SPB16.60.083_wint_1of1.exe
  16. SpringBoot整合WebSocket实现聊天室系统
  17. mysql order by 排序技巧
  18. 挪车电话也有商机,易扫挪车App
  19. matlab 去高光,Specular-Highlight-Mitigation-Removal-master
  20. 3dmax渲染软件有哪些?哪个好用

热门文章

  1. 推荐30款最佳的数据可视化工具
  2. java 数组 存储_Java-将数组存储到内存或从内存上传到磁盘
  3. Jquery第一章表格新增功能课后练习第二节2/2
  4. 安卓端和IOS端小程序蓝牙通讯问题
  5. ajax提交不能获取数据,django无法收到ajax的请求数据
  6. 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程
  7. Linux/windows com串口 java 接收数据 并解析 web程序
  8. Luogu2467 SDOI2010 地精部落 DP
  9. 第一次作业:对于Linux2.6.0源码中进程模型的分析
  10. 后缀数组模板 hdu1403