赞
踩
Lighthouse是什么? —— 一种工具
Lighthouse 是一个开源的自动化工具,用来测试页面性能。
为什么要用Lighthouse?—— 提升用户体验
Web性能可以直接影响业务指标,例如转化率和用户满意度
分析收集各种应用页面性能指标,并进行评估,以此我们可以根据评估结果进行针对性优化,不断提升用户体验
Lighthouse怎么用? —— 用法多样,根据需求进行选择
目前官方提供了4种使用方式:
Chrome 开发者工具(DevTools)
Node CLI
Node Module
Chrome 扩展
一、下载插件
插件下载:
或
二、解压zip包
下载好插件后,对 .zip
包进行解压,解压后文件夹里面有个 .crx
后缀的离线安装包,大致如下图所示
三、打开扩展程序管理菜单
① 在浏览器的地址栏中输入 chrome://extensions/ 回车进入页面
②或者,依次点击:右上角三个点 -> 更多工具 -> 扩展程序
四、勾选“开发者模式”
安装前,一定要将开发者模式勾选上,如下图:
注意: 不勾选开发者模式是安装不上插件的。
五、 拖动安装插件
将 .crx
安装包直接拖入 Chrome 浏览器中,即可完成安装:
六、使用: F12 打开DevTools,选择“分析网页加载情况”,进行网页性能分析
模式名称 | 说明 | 局限性 |
导航模式(默认) | 获取性能分数和所有性能指标。 评估渐进式 Web 应用功能。 在页面加载后立即分析可访问性。 | 无法分析表单提交或单页应用转换。 无法分析在页面加载时无法立即提供的内容。 |
时间跨度模式 | 测量某个时间范围内的布局偏移和 JavaScript 执行时间,包括交互。 发现性能机会,以改善长期存在的页面和 SPA 的体验。 | 不提供总体性能分数。 无法分析基于时刻的性能指标(如:最大内容绘制)。 无法分析页面状态问题(如:没有无障碍功能类别) |
快照模式 | 分析当前状态的页面。 查找 SPA 或复杂表单深处的可访问性问题。 评估隐藏在交互后面的菜单和 UI 元素的最佳实践。 | 不提供总体性能分数或指标。 无法分析当前 DOM 之外的任何问题(如:没有网络、主线程或性能分析)。 |
主要监测指标 | 说明 |
性能指标(Performance ) | 性能检测(重点)。对页面的性能评分,如:网页的加载速度、响时间等。 |
可访问性(Accessibility ) | 铺助检测。监测页面的可访问性与优化建议,如:网页的可访问性问题,HTML代码标签之类的优化等 |
最佳实践(Best Practice ) | 实践性检测。如:网页安全性,如是否开启HTTPS、网页存在的漏洞等 |
搜索引擎优化(SEO: Search Engine Optimisation ) | 搜索引擎优化检测。如:网页title是否符合搜索引擎的优化标准等 |
PWA(Progressive Web App ) | 验证 PWA 的各个方面的性能情况。 |
评估后,得到评估结果:
性能指标:性能检测(重点)。对页面的性能评分,如:网页的加载速度、响时间等。
FCP(First Contentful Paint)首次内容绘制,浏览器首次绘制来自 DOM 的内容的时间,内容必须是文本、图片(包含背景图)、非白色的 canvas 或 SVG,也包括带有正在加载中的 Web 字体的文本。 这是用户第一次开始看到页面内容,但仅仅有内容,并不意味着它是有用的内容(例如 Header、导航栏等)
FCP 时间(秒) | 颜色编码 |
---|---|
0–1.8 | 绿色(快速) |
1.8–3 | 橙色(中等 |
超过 3 | 红色(慢) |
表示网页第一次完全达到可交互状态的时间点,浏览器已经可以持续性的响应用户的输入。完全达到可交互状态的时间点是在最后一个长任务(Long Task)完成的时间, 并且在随后的 5 秒内网络和主线程是空闲的。
TTI 指标 (秒) | 颜色编码 |
---|---|
0–3.8 | 绿色(快速) |
3.9–7.3 | 橙色(中等 |
超过 7.3 | 红色(慢) |
Speed Index(速度指数)是一个表示页面可视区域中内容的填充速度的指标,可以通过计算页面可见区域内容显示的平均时间来衡量。
速度指数(秒) | 颜色编码 |
---|---|
0–3.4 | 绿色(快速) |
3.4–5.8 | 橙色(中等 |
超过 5.8 | 红色(慢) |
Total Block Time(TBT)总阻塞时间,度量了 FCP 和 TTI 之间的总时间,在该时间范围内,主线程被阻塞足够长的时间以防止输入响应。
只要存在长任务,该主线程就会被视为“阻塞”,该任务在主线程上运行超过 50 毫秒(ms)。我们说主线程“被阻止”是因为浏览器无法中断正在进行的任务。因此,如果用户确实在较长的任务中间与页面进行交互,则浏览器必须等待任务完成才能响应。
如果任务足够长(例如,超过 50 毫秒的任何时间),则用户很可能会注意到延迟并感觉页面缓慢或过时。
给定的长任务的阻止时间是其持续时间超过 50 毫秒。页面的总阻塞时间是 FCP 和 TTI 之间发生的每个长任务的阻塞时间的总和。
TBT 时间(毫秒) | 颜色编码 |
---|---|
0–200 | 绿色(快速) |
200-600 | 橙色(中等 |
超过 600 | 红色(慢) |
CP(Largest Contentful Paint)最大内容绘制,可视区域中最大的内容元素呈现 到屏幕上的时间,用以估算页面的主要内容对用户可见时间。
LCP 考虑的元素包括
<img>
元素<image>
元素内的<svg>
元素<video>
元素为了提供良好的用户体验,网站应力争使用 2.5 秒或更短的“最大内容绘画” 。为确保您达到大多数用户的这一目标,衡量移动设备和台式机设备的页面加载量的第 75 个百分位数是一个很好的衡量标准
LCP 时间(秒) | 颜色编码 |
---|---|
0–2.5 | 绿色(快速) |
2.5-4 | 橙色(中等 |
超过 4 | 红色(慢) |
Cumulative Layout Shift(CLS)累计布局偏移,CLS 会测量在页面整个生命周期中发生的每个意外的布局移位的所有单独布局移位分数的总和,它是一种保证页面的视觉稳定性从而提升用户体验的指标方案。
CLS (比例)) | 颜色编码 |
---|---|
0–0.1 | 绿色(快速) |
0.1-0.25 | 橙色(中等 |
超过 0.25 | 红色(慢) |
Accessibility 辅助功能 : 无障碍设计,也称为网站可达性。铺助检测。监测页面的可访问性与优化建议,如:网页的可访问性问题,HTML代码标签之类的优化等
增强辅助技术用户的体验,如屏幕阅读器。
提高内容易读性。
比如:Background and foreground colors do not have a sufficient contrast ratio(背景色和前景色没有足够的对比度) 解决:UI 设计的样式和颜色就是这样的,不好改
改进应用程序中的控件语义,增强辅助技术(如屏幕阅读器)用户的体验。
比如:
实践性检测。如:网页安全性,如是否开启HTTPS、网页存在的漏洞等
Ensure CSP is effective against XSS attacks
:确保 CSP 对 XSS 攻击有效Does not use HTTPS
:没有使用 HTTPS,有 不安全的请求Missing source maps for large first-party JavaScript
:缺少 JavaScript 的源映射。一般出现情况是可能开发环境是有的,但是生产环境为了减少包大小,一般不会配置*target="_blank"
属性链接到另一个站点上的页面时,可能会面临性能和安全问题rel="noopener"
或 rel="noreferrer"
geolocation.getCurrentPosition()
或 geolocation.watchPosition()
,并且尚未授予地理定位权限,则审核失败notification.requestPermission()
,并且尚未授予通知权限,则审核失败自动网络爬虫
扫描站点,查找已知的安全漏洞
搜索引擎优化检测。如:网页title是否符合搜索引擎的优化标准等
验证 PWA 的各个方面的性能情况。
引用:Lighthouse(灯塔)—— Chrome浏览器强大的性能测试工具_chrome lighthouse-CSDN博客
前端性能测试工具 Lighthouse(灯塔)使用 - 掘金
超级详细的手把手教你使用Lighthouse更好推动项目性能优化,性能指标详解,优化方法,需要关注指标分析_lighthouse报告分析-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。