首页 > 其他分享 >web前端应用性能指标优化方案有哪些?

web前端应用性能指标优化方案有哪些?

时间:2024-07-03 18:09:33浏览次数:21  
标签:脚本 web 浏览器 渲染 前端 加载 优化 性能指标 页面

接上一篇介绍前端性能指标的内容,本文主要总结下一般使用的指标优化方案

加载相关:

FCP 优化 :

  • 降低服务器响应时间:确保服务器能迅速响应请求,这样浏览器就能更快地开始处理并渲染页面内容。可以通过优化服务端代码、改善静态资源的提供方式(如将图片部署到 CDN)来实现。
  • 延迟加载非关键资源:对于非关键的脚本和 CSS 样式表,使用defer属性或async属性(对于脚本)来延迟加载,这样它们就不会阻塞页面的初次渲染。
  • 使用 code splitting 和 lazy loading 优化资源加载
  • 移除不必要的资源:检查页面并移除那些未被使用的样式表和JavaScript脚本,这些不必要的资源会拖慢 FCP 的时间。
  • 内联关键样式:虽然这种做法会受到质疑,但如内联一些关键的 CSS 样式确实可以减少浏览器解析外部资源所需的时间,从而加快渲染速度。
  • 使用预渲染,将首屏内容预先渲染好。
  • 优化图片和视频的加载,使用 webp 格式的图片和视频。
  • 减少首次请求数量,合并文件并使用 HTTP/2 的 server push。
  • 使用浏览器缓存,设置正确的Cache-Control和Expires头。
  • 优化 JavaScript 执行性能,减少首次渲染时间

TBT总阻塞时间优化

减少 TBT 时间的方式包括:

  • 减轻第三方代码的影响
  • 缩短JavaScript执行时间
  • 减少主线程的工作量
  • 控制请求数量和传输大小
    理想情况下,TBT 在移动设备上应低于 300 毫秒,在桌面 Web 上应低于 100 毫秒。

交互相关

CLS 优化
影响 CLS 分数的常见的原因主要有:

  • 图片、视频和 iframe 没有预先设定尺寸,导致页面加载时元素位置变化。
  • 字体加载过程中可能产生文本短暂消失或样式未加载的文本闪烁,影响布局稳定性。
  • 动态内容(如广告、通知等)注入 DOM 后,尤其是网络请求之后,往往会导致页面布局发生突变

CLS 是由于布局中的意外变化而发生的,因此在编写 HTML 和 CSS 时,可以考虑以下原则:

  • 避免布局重叠:不要将新元素插入到现有元素之上,因为这可能导致页面布局发生意外的变化。尤其是当插入通知或警告框时,应该考虑使用不会干扰其他页面元素的设计方法。

  • 预留空间:为图像和视频元素指定尺寸属性,以便浏览器在内容加载之前就能为它们预留出正确的空间。这有助于防止页面在加载过程中发生不必要的布局调整。

  • 谨慎使用动画:动画和过渡效果可以提升用户体验,但应确保它们不会导致页面布局发生不必要的改变。选择那些不会移动元素或改变布局尺寸的过渡效果,以保持页面的稳定性和一致性。

TTI:可交互时间优化
TTI 时间主要取决于以下因素:

  • 页面布局稳定,所有可见的内容都已经被加载。

  • 主线程空闲。如果还在加载脚本或处理其他任务,那么应用将不会处于交互状态。用户的点击和其他操作将被忽略(或排队)直到线程空闲。
    以下是一些优化策略:

  • 清除冗余脚本:移除所有未使用的脚本,避免浏览器花费时间去解析不必要的代码,从而提升页面加载速度。

  • 分割脚本文件:将大型脚本拆分成多个较小的文件。这有助于浏览器更有效地加载和解析这些脚本,减少阻塞时间。

  • 动态加载脚本:对于来自外部资源且无法直接分割或修改的脚本,考虑采用动态加载的方式,以减少对页面初始加载时间的影响。

标签:脚本,web,浏览器,渲染,前端,加载,优化,性能指标,页面
From: https://www.cnblogs.com/csuwujing/p/18282283

相关文章

  • web前端应用应该关注哪些性能指标?
    作为一个有经验的前端开发工程师来说,关注性能是必不可少的一项日常工作,那么应该重点关注一些什么样的性能指标呢?其实主要还是从用户体验的角度来看,一般我们会从页面加载相关、交互相关方面入手。原文:前端性能指标,一网打尽FCP:首次内容绘制LCP:最大内容绘制TTFB:首字节时间TBT:总......
  • 前端如何优雅的添加水印及去除水印
    ......
  • 教你从零开始制作一个Web蜜罐扫描器
    01想法的来源在渗透的过程中,会遇到很多蜜罐,一旦不小心踩了蜜罐,就会被溯源,所以很可怕。为了规避上面的现象,就需要把蜜罐筛出来。使用场景是在前期资产收集的过程中,搞到了一堆子域名,先筛掉一批蜜罐,留下可以攻击的纯净资产。同上得到的一份资产如下:如上图所示,大量的域名如......
  • 详解Web应用安全系列(6)安全配置错误
    Web攻击中的安全配置错误漏洞是一个重要的安全问题,它涉及到对应用程序、框架、应用程序服务器、Web服务器、数据库服务器等组件的安全配置不当。这类漏洞往往由于配置过程中的疏忽或错误,使得攻击者能够未经授权地访问系统数据或执行系统功能。安全配置错误类漏洞是指在对Web应用......
  • CentOS Stream 8 发布.net 8 webapi
    参考资料https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-rhel#where-is-centos-linux 微软好像不持支.net7所以把demo换成.net8sudodnfinstalldotnet-sdk-8.0 然后就开始报错,大致意思就是无法解析,找不到地址资源进入yum的repos目录cd/etc/yum.rep......
  • 保持校园网自动登录的代码备忘: 基于webdriver和chrome
    在跑一个处理很多数据的代码,需要不间断地运行。而且最近打算回家一周,需要远程控制电脑。但是学校的校园网每到晚上就会自己断开,干脆写份脚本来保持校园网的连接这份简单的代码只包括三个部分,检测网络状态的部分,自动登录校园网的部分,循环执行的部分、importosimporttimeimpo......
  • OpenSpace Web3课程大纲
    这个OpenSpaceWeb3BootCamp区块链技术线下集训营培训的内容看起来不错,比较全面也比较深入,但我没有金钱和时间,而且似乎这个面向的应该是即将毕业的应届生,2个月脱产应该没多少工作的人参加,除了一些处于gap期的吧。年轻真好。不管怎样,在这里列一下这个培训的大纲,作为参考。夯实基......
  • 应对Web安全防护,溯源追踪攻击者。
    前言随着时代的进行,互联网站走进千家万户,网络安全问题也逐渐提上日程,国家对网络安全也欲加重视。一、重视保护现如今,大数据已成为必要发展趋势。Web网站也成为人们获取信息和企业开放产品的重要行式。提到网站,就不得不提到Web安全。仍有许多企业不重视,不在乎Web安全,只要求......
  • 打印功能实现--web端+移动端
    web端---调用本机的打印机即可 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>PrintCustomContentandStyle</title><style>@mediaprint{/*打印时隐藏页面中的元素*/#header,#footer{......
  • JAVA妇产科专科电子病历系统源码,前端框架:Vue,ElementUI
    JAVA妇产科专科电子病历系统源码,前端框架:Vue,ElementUI孕产妇健康管理信息管理系统是一种将孕产妇健康管理信息进行集中管理和存储的系统。通过建立该系统,有助于提高孕产妇健康管理的效率和质量,减少医疗事故发生的可能性,管理医疗资源,保证孕产妇得到及时、准确的医疗服务。该系......