美文网首页
什么是预加载、懒加载

什么是预加载、懒加载

作者: 我是Msorry | 来源:发表于2021-01-14 11:11 被阅读0次
image.png

懒加载

图片先用占位符表示,不要将图片地址放到src属性中,而是放到其它属性(data-original)中
页面加载完成后,监听窗口滚动,当图片出现在视窗中时再给它赋予真实的图片地址,也就是将data-original中的属性拿出来放到src属性中
在滚动页面的过程中,通过给scroll事件绑定lazyload函数,不断的加载出需要的图片

注意:请对lazyload函数使用防抖与节流,不懂这两的可以自己去查

懒加载方式

  1. 纯粹的延迟加载,使用setTimeOut或setInterval
    这种方式,本质上不算懒加载
    加载完首屏内容后,隔一段时间,去加载全部内容
    但这个时间差已经完成了用户对首屏加载速度的期待

  2. 条件加载
    用户点击或者执行其他操作再加载
    其实也包括的滚动可视区域,但大部分情况下,大家说的懒加载都是只可视区域的图片懒加载,所以就拿出来说了

3.可视区加载
这里也分为两种情况
1、页面滚动的时候计算图片的位置与滚动的位置
2、通过新的API: IntersectionObserver API(可以自动"观察"元素是否可见)

实现懒加载

<img class="lazy" src="[占位图]" data-src="[真实url地址]" data-srcset="[不同屏幕密度下,不同的url地址]" alt="I'm an image!">

如上,data-属于自定义属性, ele.dataset. 可以读取自定义属性集合
img.srcset 属性用于设置不同屏幕密度下,image自动加载不同的图片,比如<img src="image-128.png" srcset="image-256.png 2x" />

预加载

预加载
提前加载图片,当用户需要查看时可直接从本地缓存中渲染

加载方式目前主要有两种

  1. CSS预加载
    先通过CSS将图片加载到不可见区域
#preload-01 { background: url(http://domain.tld/image-01.png) no-repeat -9999px -9999px; }

待到满足触发条件后,再通过JS渲染

  1. JS预加载
    通过new Image()把图片下载到本地,让浏览器缓存起来,设置其src来实现加载,再使用onload方法回调加载完成事件
<div class="hidden">  
    <script type="text/javascript">  
        <!--//--><![CDATA[//><!--  
            var images = new Array()  
            function preload() {  
                for (i = 0; i < preload.arguments.length; i++) {  
                    images[i] = new Image()  
                    images[i].src = preload.arguments[i]  
                }  
            }  
            preload(
                "http://qiniu.cllgeek.com/react02.png",
                "http://qiniu.cllgeek.com/react03.png",
                "http://qiniu.cllgeek.com/react04.png"
            ) 
        //--><!]]>  
    </script>  
</div>

相关文章

  • web优化之懒加载和预加载

    懒加载和预加载是常用的web优化的手段。所以我们首先应该明白什么是懒加载和预加载。懒加载:懒加载也加延迟加载,延迟...

  • Android 懒加载优化

    目录介绍 1.什么是懒加载1.1 什么是预加载1.2 懒加载介绍1.3 懒加载概括 2.实际应用中有哪些懒加载案例...

  • ViewPager+Fragment预加载和懒加载分析

    1 什么是fragment的预加载和懒加载? 预加载:viewpager显示当前fragment的时候,viewp...

  • 懒加载和预加载

    懒加载和预加载 1. 懒加载 1. 什么是懒加载? 懒加载也就是延迟加载 当访问一个页面的时候,先把img元素或是...

  • 什么是预加载、懒加载

    懒加载 图片先用占位符表示,不要将图片地址放到src属性中,而是放到其它属性(data-original)中页面加...

  • JS

    JS 懒加载,预加载 概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加...

  • 图片懒加载

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片。 预...

  • 2018-07-17 懒加载和预加载

    懒加载也就是延迟加载。懒加载的核心的思想是延迟加载,需使用到的时候才进行加载,不使用的时候是不会加载的 预加载提前...

  • vue中图片预加载&懒加载

    简单解释 懒加载顾名思义,很懒,所以用到时才开始加载,不用不加载。 预加载,预,提前的意思。没用到时...

  • 微信程序项目边界

    详情头部标题省略加载{懒加载,预加载,无限加载,加载中} 常见路由切换

网友评论

      本文标题:什么是预加载、懒加载

      本文链接:https://www.haomeiwen.com/subject/ubmvoktx.html