• 懒加载和预加载


    懒加载和预加载

    1. 懒加载

    1. 什么是懒加载?

    懒加载也就是延迟加载

    当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区

    域内时,才设置图片真正的路径,让图片显示出来,这就是图片懒加载。

    2. 为什么要使用懒加载

    很多页面,内容很丰富,页面很长,图片较多。比如说各种商城页面。这些页面图片数量多,而且 比较大,少说百来K,多则上兆。要是页面载入就一次性加载完毕。估计大家都会

    等到黄花变成黄花菜了。

    3. 懒加载的原理是什么?

    页面中的img元素,如果没有src属性,浏览器就不会发出请求去下载图片,只有通过javascript设置了图片路径,浏览器才会发送请求。懒加载的原理就是先在页面中把所有的图片

    统一使用一张占位图进行占位,把真正的路径存在元素的“data-url”(这个名字可以随意)属性里,要用的时候就取出来,再设置;

    4. 懒加载的实现步骤?

    1)首先,不要将图片地址放到src属性中,而是放到其他属性(data-original)中。

    2)页面加载完成后,根据scrollTop判断图片是否在用户的视野内,如果在,则将data-original属性中的值取出存放到src属性中。

    3)在滚动事件中重复判断图片是否进入视野,如果进入,则将dat-original属性中的值取出存放到src属性中。

    5. 懒加载的优点是什么?

    页面加载速度快,可以减轻服务器的压力,节约了流量,用户体验好

    2. 预加载

    1. 什么是预加载?

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

    2. 为什么要使用预加载?

    图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度。这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速、无缝地
    

    发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。

    3. 实现预加载的方法有哪些?

    方法一:用CSS和JavaScript实现预加载

    方法二:仅适用JavaScript实现预加载

    方法三:适用Ajax实现预加载

    3. 懒加载和预加载的对比

    1)概念:

    懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时在加载某些图片。
    
    预加载:提前加载图片,当用户需要查看时刻直接从本地缓存中渲染。
    

    2)区别:

    两种技术的本质:两种的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力;

    3)懒加载的意义及实现方式有:

    意义

    懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。

    实现方式

    1) 第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟。

    2)第二种是条件加载,符合某些条件,或触发了某些事件才开始异步下载。

    3) 第三种是可视区加载,即仅加载用户可以看到的区域,这个主要由监控滚动条来实现,一般会在距用户看到某图片前距离便开始加载,这样能保证用户拉下时正好能看到图片。

    4)预加载的意义及实现方式有:

    意义

    预加载可以说是牺牲服务器前端性能,换取更好的用户体验,这样可以使用户的操作得到最快的反映。

    实现方式

    实现预加载的方法非常多,比如:用CSS和JavaScript实现预加载;仅使用JavaScript实现预加载;使用Ajax实现预加载。常用的是new Image();设置其src来实现预加载,再使用

    onload方法回调预载完成事件。只要浏览器把图片下载到本地,同样的src就会使用缓存,这是最基本也是最实用的预载方法。当Image下载完图片头后,会得到宽和高,因此可以在

    预载前得到图片的大小(方法是用记时器轮询宽高变化)。

  • 相关阅读:
    asp.net 2.0 treeview控件“简单”操纵
    http://www.cnblogs.com/Terrylee/archive/2006/11/12/aspnet_ajax_quickstarts.html(ajax入门 )
    JS实面treeview中选中父节点,子节点也选中
    系统地学习ASP.NET AJAX(5) 客户端脚本编程(Sys.UI命名空间下的类和快捷方法)(转)
    图例显示投标数据
    怎么用正则表达式判断数字(包括正,负,小数。。)
    treeview常见用法
    TreeView小结
    sql split分隔
    WCF 漫谈
  • 原文地址:https://www.cnblogs.com/keessi/p/7339753.html
Copyright © 2020-2023  润新知