当前位置:网站首页>计算首屏时间
计算首屏时间
2022-08-04 01:08:00 【差不少】
注意:计算首屏时间,浏览器
提供了一个performance
的api
fp(白屏)和fcp(首屏):
https://segmentfault.com/a/1190000022233919
注意:把浏览器记录的fp(白屏)时间 减去 发出html请求的时间 计算白屏时间
注意:performance
仅计算白屏时间比较准确
白屏时间(就是网页显示到第一个字符得时候)
首屏时间(整个页面的dom渲染的处于比较稳定的一个阶段),DocumentContentLoaded在DOM树加载完之后立刻触发,但图片等静态资源都没有请求,所以它不能用来计算 首屏时间
注意:onload和DocumentContentLoaded的区别
主要区别:DocumentContentLoaded
在DOM树加载完之后立刻触发,DOM树加载完成之后,继续加载图片等外部文件,加载完成之后,onload事件触发。
https://blog.csdn.net/weixin_43912756/article/details/109025226
注意:首屏时间计算使用MutationObserver
MutationObserver
要 监听层级深一点,监听body
,然后根据层次变换,计算出一个变化最大的(比如回调函数中计时)
然后得到一个趋于稳定的时间点即可(变动大,然后都变动都小)
node不太适合做一些计算太大的工作,因为是单线程,渲染线程和js线程其实是要共用的,一旦被某一个占了,会导致另一个一直都不能运行,会造成卡顿,不能运行等问题
webwork
可以进行一些计算,但它有一些限制,不能操作dom,因为两个线程同时操作dom会造成竞争,所以webwork等于开辟了一个新的线程(因为不能操作线程)
这样在计算比较大的时候就能新开个webwork,然后算出结果后,用post message拿到数据,在渲染到视图上,这样就不会造成浏览器卡顿
注意:webwork的报错会影响到主线程吗?不会
webwork会提供一个worker.onError
的事件,那里应该能捕获到
边栏推荐
- LDO investigation
- Slipper - virtual point, shortest path
- 快速入门EasyX图形编程
- vxe-table 从页面批量删除数据 (不动数据库里的数据)
- 字符串变形
- nodejs installation and environment configuration
- Is there any jdbc link to Youxuan database documentation and examples?
- typescript52 - simplify generic function calls
- Vant3 - click on the corresponding name name to jump to the next page corresponding to the location of the name of the TAB bar
- Eight things to pay attention to in spot silver
猜你喜欢
随机推荐
Mvc、Mvp和Mvvm
因为一次bug的教训,我决定手撕Nacos源码(先撕客户端源码)
有没有jdbc 链接优炫数据库文档及示例?
Demand analysis of MES management system in electronic assembly industry
C# WPF设备监控软件(经典)-下篇
2022 China Computing Power Conference released the excellent results of "Innovation Pioneer"
nodejs install multi-version version switching
Modulo operation (MOD)
螺旋矩阵_数组 | leecode刷题笔记
typescript58-泛型类
LeetCode third topic (the Longest Substring Without Repeating Characters) trilogy # 3: two optimization
WMS仓储管理系统能解决电子行业哪些仓库管理问题
ThreadLocal
快速入门EasyX图形编程
字符串的排列
600MHz频段来了,它会是新的黄金频段吗?
手撕Gateway源码,今日撕工作流程、负载均衡源码
boot issue
【超详细】手把手教你搭建MongoDB集群搭建
【正则表达式】笔记