1 https://segmentfault.com/a/1190000002433791

即时加载是最常见的加载方式了,我们一般都是通过给img标签指定具体的src值,那么等页面渲染的时候,遇到该标签的话,就会下载该指定的URL图片,并且渲染出来

  • 大部分浏览器都会并发下载图片,图片的下载没有阻塞。
  • src的值如果相同,也只会下载一次,也就是说相同的图片,不会多次下载。
  • 图片的下载和渲染会阻塞整个页面的渲染。
  • 图片越大,下载的时间也就越长。

图片延迟加载的原理:页面初次加载时获取图片在页面中的位置并缓存(每次取offset的值会引发页面的reflow),计算出可视区域,当图片的位置出现在可视区域中,将src的值替换成真实的地址,此时图片就开始加载了。

当页面滚动的时候,再判断图片已经缓存的位置值是否出现在可视区域内,进行替换src加载。当所有的图片都加载完之后,将相应的触发事件卸载,避免重复操作引起的内存泄漏。将整个窗口看成是一个大容器,那么也可以在页面中设置一个小容器,在小容器中也同样可以实现图片的延迟加载。

像淘宝、天猫等电商就大量采用了该技术,因为对它们来说,要展示的图片太多了,即时加载又非常耗时间,而且用户不一定会看完所有的图片。采用延迟的加载基本上就能解决图片过多的问题

2 background-img 与 <img> 加载的图片的区别

https://my.oschina.net/u/1162572/blog/137403

在粗读过浏览器的工作原理(http://coolshell.cn/articles/9666.html)之后我知道:

浏览器首先将HTML解析成DOM tree,然后解析css生成css rule tree,将这个tree并进行一些处理之后,生成render tree。render tree就是浏览器依据绘制网页的原料了。

前端复习--图片加载相关推荐

  1. 前端页面图片加载优化

    前端页面图片加载优化 问题:前端页面如果图片资源过多或者过大就会导致用户加载图片时间过长,导致用户体验下降 我总结的优化思路与方法有以下几种 一.将图标换成icon字体管理 如果项目存在大量的图表用的 ...

  2. 前端页面图片加载失败如何处理

    换成默认背景图片或隐藏 方法有多种: 1.首先说我用的,看代码 //页面图片加载失败时 默认显示统一处理document.addEventListener("error", fun ...

  3. 前端页面图片加载失败显示默认图片

    方法有多种: 1.首先说我用的,看代码 //页面图片加载失败时 默认显示统一处理 document.addEventListener("error", function (e) { ...

  4. 前端检测图片加载失败,替换图片

    最近做的一个系统出现了问题,<img/>标签添加src属性,但是你怎么知道这个路径是否无效呢? 废话不多说, //检查图片是否存在 function CheckImgExists(imgu ...

  5. htmlimg图片加载失败_动态加载图片失败的默认图显示

    经常碰到这类场景,动态加载图片时,因为一些原因(图片链接不存在啊,图片误删啊,图片路径不对或图片路径为空等等)导致真实图片显示不出来.那么为了提高用户体验,都会显示一个默认图. 动态加载图片失败时,显 ...

  6. 巧用代理设计模式(Proxy Design Pattern)改善前端图片加载体验

    这篇文章介绍一种使用代理设计模式(Proxy Design Pattern)的方法来改善您的前端应用里图片加载的体验. 假设我们的应用里需要显示一张尺寸很大的图片,位于远端服务器.我们用一些前端框架的 ...

  7. 在HBuilder创建前端web项目时,图片加载不出来,怎么解决?

    在HBuilder创建前端web项目时,图片加载不出来,如下: 解决方法: 将图片文件路径减少,可正常显示,如图:

  8. 前端图片加载优化的各种技巧

    目前的前端图片加载优化技术有很多,像懒加载/预加载,img上的srcset属性以及picture标签,新的图片编码格式以及Client Hints等. Client Hints 顾名思义,client ...

  9. 前端入门之(vue图片加载框架一)

    前言: 之前做android的时候,会接触各种图片加载框架,也自己封装过,封装网络框架目的无非就是为了提高图片的复用性.减少内存消耗.监听图片的加载过程等等.换成web前端其实是一样的操作,好啦! 说 ...

最新文章

  1. DeepMind最新发现!神经网络的性能竟然优于神经符号模型
  2. 如何在windows下的Python开发工具IDLE里安装其他模块
  3. 吊炸天的 PHP 7 ,你值得拥有
  4. 在蓄电池管理系统中计算机应用,汽车电器与电子技术.docx
  5. CentOS 下安装xdebug
  6. Linux系统编程1:基础篇之Linux中使用率最高的一些命令
  7. linux行位换行符,换行符或标点符号作为elasticsearch中的位置间隔
  8. 网卡流量监控工具vnstat的使用
  9. linux 如何查看fb中分辨率_西门子S71200,如何在FB块中使用操作定时器?
  10. [svc]容器网络学习索引及网络监控
  11. python秩和比综合评价代码记录
  12. 未来教育mysql下载_未来教育计算机二级题库中的视频为什么无法播放?
  13. Docker 镜像加速器
  14. 计算机网络接口 rj45类型,网卡:网线接口类型(RJ45/BNC/AUIFDDI/ATM接口) -电脑资料...
  15. linux中如何查看本机ip,Linux中如何查看本机IP地址呢?
  16. android 图片虚化代码,Android图片虚化源码
  17. PDF怎么用免费软件转换成word?推荐个高性价比转换方法
  18. python利用中误差检验影像精度
  19. 关于高精地图-导航电子地图制作测绘资质的讯息分享
  20. 用公式编辑器将数学公式转为LaTeX代码

热门文章

  1. 新东方直播业务风生水起:上课+卖货创新直播
  2. 愿码(ChainDesk.CN):跳槽必备技巧,拿offer的几率是85%
  3. 家用什么牌子投影仪好?国产投影仪品牌
  4. 刺客信条 奥德赛的性能测试软件要求,《刺客信条:奥德赛》PC性能表现分析:非常流畅...
  5. 个性化搜索的介绍,推荐和搜索的强强结合
  6. 如何使用时间序列数据去酿酒
  7. 24GHz道闸防砸雷达传感器SRR189 winfrom 调试小程序
  8. mysql数据库优化器_mysql数据库运维利器-一键生成MySQL数据库优化建议-【安基网】...
  9. 牛尔爱美书diy制作原料
  10. ROS USB摄像头驱动安装