首页 > 其他分享 >网站性能优化

网站性能优化

时间:2024-06-17 12:32:34浏览次数:22  
标签:解析 DOM 网站 性能 HTML 加载 优化 页面

网页性能优化是为了提升网站的加载速度、响应速度和用户体验,从而更好地满足用户的需求,提高用户留存率和转化率。

减少DOM操作

在JavaScript中,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能,因为需要不断的与dom节点进行交互,访问dom的次数越多,引起浏览器重绘与重排的次数也就越多,就会延长整个页面的交互就绪时间,这就是为什么性能优化的主要思想之一就是减少DOM操作的原因。

按需加载

按需加载就是根据需要去加载资源。

在js中,我们一般通过一些用户行为或者定时任务去触发一些加载动作。

比如但不限于以下几个情况:鼠标点击、输入文字、拉动滚动条,鼠标移动、窗口大小更改等。加载的文件,可以是JS、图片、CSS、HTML等。这个就是按需加载。

为什么需要按需加载

浏览器在同一时间内的可以发出的请求数有限制,所以这也是我们采用第三方打包工具将多个文件打包为一个文件的意义。

但是多个文件打包为一个文件时包又比较大,一次性下载下来的速度就比较慢,仍然会有刚进入单页面系统产生首页白屏时间较长的情况。这种用户体验也不好。按需加载可用较好的去解决这些问题。

按需加载HTML

多页面系统本身就是一个按需加载html的过程,因为一个页面对应一个HTML。

我们都知道,所谓的单页面项目在某种意义上就是一个无刷新的局部更新页面。

页面一开始不解析HTML,根据需要来解析HTML。

解析HTML都是需要一定时间,特别是HTML中包含有img标签、引用了背景图片时,如果一开始就解析,那么势必会增加请求数。常见的有对话框、拉菜单、多标签的内容展示等,这些一开始是不需要解析,可以按需解析。

性能优化之虚拟列表

当渲染大型列表时,由于浏览器需要处理大量的 DOM 节点,会带来页面卡顿、内存占用过高等问题。此时可以通过将列表虚拟化技术,即只渲染可见区域内的数据项,而不是全部渲染,且在滚动过程中移除旧的添加新的,这样无论列表有多少项,只会有一小部分在DOM中,从而提高性能和内存效率、保持流畅的滚动体验。


标签:解析,DOM,网站,性能,HTML,加载,优化,页面
From: https://www.cnblogs.com/yuey6670/p/18252144

相关文章

  • 解析Html Canvas的卓越性能与高效渲染策略
    一、什么是Canvas想必学习前端的同学们对Canvas都不陌生,它是HTML5新增的“画布”元素,可以使用JavaScript来绘制图形。Canvas元素是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)。Canvas由一个可绘制区域H......
  • 解析Html Canvas的卓越性能与高效渲染策略
    一、什么是Canvas想必学习前端的同学们对Canvas都不陌生,它是HTML5新增的“画布”元素,可以使用JavaScript来绘制图形。Canvas元素是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)。Canvas由一个可绘......
  • Doris开发手记5:一场链接引发“吊诡”的性能问题
    近期正在对Doris的性能问题展开排查,发现了一个极为“吊诡”的函数执行性能问题。经过一系列的CPU热点代码分析之后,发现“罪魁祸首”居然是libtoolchain中的静态库导致的。借用本篇手记记录下问题的发现,希望记录下一些对于C/C++程序链接问题的分析思路,也希望读者也能有所收获。......
  • 面试官:Java中缓冲流真的性能很好吗?我看未必
    一、写在开头上一篇文章中,我们介绍了JavaIO流中的4个基类:InputStream、OutputStream、Reader、Writer,那么这一篇中,我们将以四个基类所衍生出来,应对不同场景的数据流进行学习。二、衍生数据流分类我们上面说了java.io包中有40多个类,都从InputStream、OutputStream、Reader、Wr......
  • 【组播优化】基于蚁群算法求解QOS费用延时组播路由优化问题附Matlab代码
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • Linux 系统监控与性能调优
    在使用Linux系统时,监控系统状态和性能是维护系统稳定运行的重要环节。通过系统监控工具,我们可以实时了解系统的资源使用情况,从而进行有效的性能调优。本文将介绍一些常用的系统监控工具及其使用方法,并提供一些性能调优的基本技巧。一、系统监控工具1.top和htoptop......
  • 基于Matlab的LDPC编解码算法实现的及LDPC码性能测试+源代码+文档说明
    文章目录源码下载地址@[toc]源码下载地址项目介绍项目功能界面预览项目备注源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址@[toc]源码下载地址点击这里下载代码项目介绍LDPC码背景及概要LDPC是LowDensityParityCheckCode英文缩写,意......
  • Redis是一个高性能的键值对数据库,它支持多种数据结构,如字符串、列表、集合、有序集合
    Redis是一个高性能的键值对数据库,它支持多种数据结构,如字符串、列表、集合、有序集合和哈希表。以下是一些Redis命令的实践示例,帮助你了解如何使用Redis。连接Redis服务器首先,使用redis-cli命令连接到Redis服务器:redis-cli-h<hostname>-p<port>基本命令PING:检查Redis......
  • 微信阅读网站小程序(30029)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发四、项......
  • [转]32th@探索C++的模板元编程:揭秘零运行时开销的高性能编程技术@20240616
    C++的模板元编程是一种强大的编程技术,它能够在编译时进行计算,生成高效的代码,而且不需要任何运行时开销。这种技术被广泛应用于高性能计算、游戏开发、金融等领域,是C++程序员必须掌握的技能之一。本文将深入探讨C++模板元编程的原理和实现方式,并通过代码案例来展示其强大的功能。相......