前端性能优化处理方法---懒加载

前端面试刷题必备!(性能优化篇) 提升开发体验使用 Source Map 让开发或上线时代码报错能有更加准确的错误提示。提升 webpack 提升打包构建速度使用 HotModuleReplacement 让开发时只重新编译打包更新变化了的代码,不变的代码使用缓存,从而使更新速度更快。使用 OneOf 让资源文件一旦被某个 loader 处理了,就不会继续遍历了,打包速度更快。使用 Include/Exclude 排除或只检测某些文件,处理的文件更少,速度更快。 阅读详情

懒加载
1.什么是懒加载
懒加载也叫延迟加载,指的是在长网页中延迟加载图像,是一种很好优化网页性能的方式。用户滚动到它们之前,可视区域外的图像不会加载。这与图像预加载相反,在长网页上使用延迟加载将使网页加载更快。在某些情况下,它还可以帮助减少服务器负载。常适用图片很多,页面很长的电商网站场景中。

2.为什么要用懒加载
能提升用户的体验,不妨设想下,用户打开像手机淘宝长页面的时候,如果页面上所有的图片都需要加载,由于图片数目较大,等待时间很长,用户难免会心生抱怨,这就严重影响用户体验。
减少无效资源的加载,这样能明显减少了服务器的压力和流量,也能够减小浏览器的负担。
防止并发加载的资源过多会阻塞js的加载,影响网站的正常使用。
3.懒加载的原理
首先将页面上的图片的 src 属性设为空字符串,而图片的真实路径则设置在data-original属性中, 当页面滚动的时候需要去监听scroll事件,在scroll事件的回调中,判断我们的懒加载的图片是否进入可视区域,如果图片在可视区内将图片的 src 属性设置为data-original 的值,这样就可以实现延迟加载。

4.懒加载实现步骤

    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Lazyload</title>
        <style>
          .image-item {
            display: block;
            margin-bottom: 50px;
            height: 200px;//一定记得设置图片高度
        }
        </style>
    </head>
    <body>
    <img src="" class="image-item" lazyload="true"  data-original="images/1.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/2.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/3.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/4.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/5.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/6.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/7.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/8.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/9.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/10.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/11.png"/>
    <img src="" class="image-item" lazyload="true"  data-original="images/12.png"/>
    <script>
    var viewHeight =document.documentElement.clientHeight//获取可视区高度
    function lazyload(){
    var eles=document.querySelectorAll('img[data-original][lazyload]')
    Array.prototype.forEach.call(eles,function(item,index){
    var rect
    if(item.dataset.original==="")
       return
    rect=item.getBoundingClientRect()// 用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置
    if(rect.bottom>=0 && rect.top < viewHeight){
    !function(){
      var img=new Image()
      img.src=item.dataset.url
      img.onload=function(){
        item.src=img.src
        }
    item.removeAttribute("data-original")//移除属性,下次不再遍历
    item.removeAttribute("lazyload")
       }()
      }
     })
    }
    lazyload()//刚开始还没滚动屏幕时,要先触发一次函数,初始化首页的页面图片
    document.addEventListener("scroll",lazyload)
    </script>
    </body>
    </html>
关于前端性能优化,你做了哪些? 前端性能优化,面试必知,保证面试官满意的答案 阅读详情

相关推荐

Java EE 前端性能优化的方法

本文旨在为Java EE开发者提供一套完整的前端性能优化方法论,涵盖从基础到高级的优化技术。我们将重点关注在Java EE架构下可实施的前端优化策略,包括但不限于Servlet、JSP、JSF等技术栈。文章首先介绍前端性能优化的基本概念和重要性,然后深入探讨各种优化技术,包括资源加载、渲染优化、缓存策略等。随后提供实际代码示例和项目实战,最后讨论相关工具和未来趋势。: 从浏览器发起请求到接收到第一个字节的时间: 页面首次绘制内容的时间: 最大内容元素渲染完成的时间: 累积布局偏移量。

AI开发架构师 811

前端性能优化:如何提高页面加载速度和用户体验

当今互联网时代,网站的性能对于用户体验至关重要。一个快速加载的网页不仅能提高用户的满意度,还能增加页面的转化率。而在前端开发中,性能优化是一个永恒的话题。本篇博客将为大家分享一些关于前端性能优化的技巧和策略,帮助您提高页面的加载速度和用户体验。

baidu_38876334的博客 2882

echo.js图片懒加载插件

echo.js图片懒加载插件

< 前端性能优化: 资源加载优化 >

众所周知,前端是由HTML、CSS、JS等文件资源共同作用下渲染构建出来的。现今前端项目,大多为单页面应用,单页面应用的优点非常多(点击跳转 SPA单页面讲解),但是也并非没有缺点。由于单页面的原因,项目所需资源都需要在初次加载首屏时被加载,这就造成了首屏加载性能受到影响!对于首屏性能优化,就衍生出了相关需要思考的问题。如何将首屏加载的资源,分段将需要的资源及时加载出来,避免页面内容不显示的同时,又能避免加载多余并非立刻需要使用的资源呢?

一个平平无奇的技术宅 1407

YOLOv8实战:如何用Focaler-IoU提升小目标检测精度(附代码)

本文详细介绍了如何通过Focaler-IoU提升YOLOv8在小目标检测中的精度,包括核心机制解析、代码实现及调优策略。Focaler-IoU通过动态聚焦机制有效解决传统IoU对小目标检测的不足,显著提升模型性能。附有完整的代码示例和实战指南,适合计算机视觉开发者参考。

weixin_29044157的博客 363

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下

weixin_41855010的博客 7117

关于优化前端页面的加载速度

延迟加载和懒加载:通过延迟加载和懒加载的方式,将页面中不必要的内容延迟到用户需要时再加载,减少页面加载时的数据和资源负担,提高页面响应速度。减少 HTTP 请求次数:通过合并和压缩静态资源、使用 CDN 加速等方式,减少页面加载时的 HTTP 请求次数,提高页面加载速度。优化图片:使用适当的图片格式、压缩图片大小和质量、使用图片懒加载等方式,优化图片的加载和显示效果,减少页面加载时的图片负担。减少 DOM 操作:通过减少 DOM 操作的次数和复杂度,优化页面的渲染和重绘时间,提高页面渲染速度。

晴天有点孤单 1392

Vivado ChipScope Debugging: Overcoming Common DRC Errors in FPGA Design

本文深入解析Vivado ChipScope调试中常见的DRC错误,特别是AVAL-244和AVAL-245等时钟相关问题,提供实用的Tcl命令解决方案和最佳实践。通过将DRC错误降级为警告的技巧,帮助FPGA设计者高效完成调试流程,同时强调何时应保留DRC检查以确保设计可靠性。

weixin_30335575的博客 417

前端性能优化——加载性能优化

Clean-CSS 是一个 CSS 压缩工具,可以去除 CSS 代码中的注释、空格和换行符,合并相同的样式规则等,从而减小文件大小。ImageOptim 是一个 Mac 平台上的图片压缩工具,可以自动压缩图片文件,去除不必要的元数据等,从而减小文件大小。TinyPNG 是一个在线的图片压缩工具,可以将 PNG 和 JPEG 图片压缩到较小的文件大小,同时保持较好的图片质量。对于一些小的图片,可以使用 Data URI 的方式将图片内联到 HTML 或 CSS 文件中,避免额外的图片请求。

jxnd123456的博客 2075

OpenCV卡尺工具实战:5步搞定工业级圆与直线拟合(附完整C++源码)

本文详细介绍了使用OpenCV卡尺测量工具实现工业级圆与直线拟合的5个关键步骤,包括核心原理、环境配置、边缘点提取优化、鲁棒性几何拟合实现及QT集成技巧。通过模块化C++源码和实战案例,帮助开发者快速掌握高精度尺寸测量技术,适用于机械零件、PCB板等工业检测场景。

uran的专栏 843

DCA决策曲线的解读和代码实现

0.决策曲线 决策曲线分析法(Decision Curve Analysis,DCA)是个与ROC曲线相提并论的相对比较新的模型评价方法。 关于它的原理,长篇大论的医学统计学知识解读实在不是我的强项,放上两个链接偷偷懒: https://www.plob.org/article/12455.html https://www.iikx.com/news/statistics/1622.html 如果想看文章,这篇里的fig7就是:https://www.ncbi.nlm.nih.gov/pmc/artic

weixin_42960896的博客 1万+

前端性能优化-加载优化

前端性能优化-加载优化 1. 资源加载优先级 在浏览器发起网络请求时,并非每个字节都具有相同的优先级,所以,浏览器通常会对所要加载的内容进行推测,将相对重要的信息先呈现给用户。比如浏览器一般会先加载CSS,再去加载JavaScript脚本和图像文件。当然,浏览器的判断并不一定都是准确的,下面就来看看如何影响浏览器对资源加载的优先级。 浏览器是基于自身的启发式算法,会对资源的重要性进行判断,来划分优先级,通常从低到高分为Lowest、Low、High、Highest等。比如在head标签中,CSS文件通常具有

weixin_36723038的博客 1416

OpenCV视频防抖算法实现与优化指南

本文详细解析了如何使用OpenCV实现视频防抖算法。通过特征点检测与光流跟踪估算帧间运动,利用滑动平均平滑运动轨迹,并应用仿射变换重塑视频帧。文章提供了完整的代码实现、参数调优指南及黑边处理等优化技巧,帮助开发者高效处理手持拍摄等场景下的视频抖动问题。

weixin_29062823的博客 342

大白话前端性能优化,常见方法有哪些?

咱来唠唠前端性能优化,其实就是想办法让网页打开得更快、用起来更流畅,就跟给汽车做保养让它跑得更顺溜一样。咱接着唠唠除了之前说的那些,还有啥前端性能优化的招儿。

前端大白话 2231

MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现)

信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。

qq_36130719的博客 365

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

jsTree终极性能优化指南:大数据量下的懒加载和批量处理技巧

jsTree作为一款功能强大的jQuery树形插件,在处理大规模数据时可能会遇到性能瓶颈。本文将为您详细介绍如何通过懒加载和批量处理技术来优化jsTree在大数据量场景下的性能表现,让您的树形结构即使面对成千上万个节点也能保持流畅的交互体验。😊 ## 为什么需要jsTree性能优化? 当树形结构包含大量节点时,一次性加载所有数据会导致: - 页面响应缓慢甚至卡顿 - 内存占用过高 - 用户

gitblog_00549的博客 768

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

最新这些前端性能优化,我从来不告诉别人(2),前端布局优化之include、merge、ViewStub的使用

*JavaScript:**JavaScript基础,JavaScript数据类型,算术运算,强制转换,赋值运算,关系运算,逻辑运算,三元运算,分支循环,switch,while,do-while,for,break,continue,数组,数组方法,二维数组,字符串。**CSS:**CSS代码语法,CSS 放置位置,CSS的继承,选择器的种类/优先级,背景样式,字体样式,文本属性,基本样式,样式重置,盒模型样式,浮动float,定位position,浏览器默认样式。并不是进入可视区域才加载卡片的。

2401_84619565的博客 368

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NocoBase前端性能优化终极指南:代码分割与懒加载配置详解

NocoBase作为极易扩展的无代码/低代码开发平台,随着项目复杂度提升,前端性能优化变得至关重要。本文将深入解析NocoBase中代码分割与懒加载的实现方案,帮助开发者构建更高效的应用体验。 ## 为什么代码分割对NocoBase至关重要? NocoBase作为开源无代码平台,其前端架构需要支持丰富的功能模块和插件系统。未优化的前端打包往往会产生体积庞大的JavaScript文件,导致页面加

gitblog_00182的博客 1077

前端性能优化-优化大量图片加载&超大图片加载(附懒加载实现方案)

懒加载实现方案 一.大量图片加载优化方案 1.将图片服务和应用服务分离(从架构师的角度思考) 2. 图片压缩方案 3.图片懒加载 实现方案一 实现方案二 4.小图片比较多时 5.http2解决连接数限制 二、图片过大加载优化方案

LYFlied的博客 2万+

前端面试的性能优化部分(7)每天10个小知识点

这两种技术结合起来,可以在用户访问不同页面时按需加载所需的代码,减小初始加载的文件大小,从而加速应用的加载速度。WebP 是一种现代的图像格式,通常比传统的 JPEG 和 PNG 格式更高效,可以显著减小图像文件的大小,从而加快加载时间,提高页面性能。在项目中,结合上述不同层级的缓存策略,可以显著提高性能,减少网络传输时间,加快页面加载速度,提供更好的用户体验。总的来说,持续的前端性能优化是一个动态的过程,需要团队的共同努力和不断的改进,以确保应用始终保持高性能和良好的用户体验。

张羽的博客 1195

Vue组件代码分块和懒加载

前端开发中,随着业务和页面增加,以组件为基本单位的结构下,组件数量会增长极快,为了优化我们会很显然地想要进行一些工作: 代码分块 懒加载非必要资源文件 非必要资源,指的首次渲染出某页面所不必要的资源,如因为用户操作才出现的图片、弹窗等。 代码分块和懒加载在页面层面具有极大的优化作用,用户很可能只是浏览dashboard页面,可能根本就不会去看详情等页面,那我们就不必将详情页面的代码和das...

无声告白 1885

Vue大数据量前端性能优化策略

在处理 Vue 项目中约 1000 条数据(约10MB)的图表与列表混合渲染时,性能优化至关重要。本文介绍了多种优化策略,包括虚拟列表、懒加载、Web Worker、图表渲染优化和分批渲染等。虚拟列表通过仅渲染可视区域内的列表项,显著提升渲染性能,避免一次性渲染大量 DOM 节点。懒加载技术则通过延迟加载不在视口内的内容,减少首屏渲染压力,适用于长列表和图表的按需加载。Web Worker 可用于在后台线程中处理复杂的数据计算,避免阻塞主线程,提升图表数据预处理的效率。通过这些优化手段,可以有效提升大型数据

Bruce__taotao的博客 3162

RuoYi-Vue前端性能优化:Vue组件懒加载与代码分割完整指南

RuoYi-Vue是基于SpringBoot和Vue的前后端分离权限管理系统,随着项目功能扩展,前端资源体积可能逐渐增大导致加载缓慢。本文将详细介绍如何通过组件懒加载与代码分割技术,显著提升RuoYi-Vue项目的加载速度和运行性能,让系统体验更加流畅。 ## 为什么需要性能优化? 现代前端应用普遍面临"首次加载慢"的问题,RuoYi-Vue也不例外。当项目包含大量页面和组件时,未优化的构建会

gitblog_00203的博客 575

前端性能优化

前端性能优化

weixin_50538103的博客 192

前端性能飞跃的关键一步(路由懒加载配置全解析)

提升前端性能的关键方法,详解JavaScript路由懒加载配置技巧。适用于大型单页应用,通过按需加载模块减少首屏体积,显著提升加载速度与用户体验。涵盖Vue/React实战配置方案,值得收藏。

DevPath的博客 303
上一篇: JS 的线程、事件循环、任务队列简介
下一篇: js异步执行顺序
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值