当前位置:网站首页>计算首屏时间
计算首屏时间
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的事件,那里应该能捕获到

边栏推荐
猜你喜欢

Modulo operation (MOD)

114. How to find the cause of Fiori Launchpad routing error by single-step debugging

MySQL回表指的是什么

动态内存二

typescript57-数组泛型接口

BGP实验(含MPLS)

Demand analysis of MES management system in electronic assembly industry

MATLAB三维绘图命令plot3入门

2022年上半年各大厂Android面试题整理及答案解析(持续更新中......)

分析:Nomad Bridge黑客攻击的独特之处
随机推荐
MongoDB数据接入实践
Apache DolphinScheduler新一代分布式工作流任务调度平台实战-中
《Greenplum构建实时数据仓库实践》简介
Installation and configuration of nodejs+npm
通用的测试用例编写大全(登录测试/web测试等)
阿里云技术专家邓青琳:云上跨可用区容灾和异地多活最佳实践
GNSS【0】- 专题
无代码7月热讯 | 微软首推数字联络中心平台;全球黑客马拉松...
typescript50-交叉类型和接口之间的类型说明
typescript54 - generic constraints
C 学生管理系统 显示链表信息、删除链表
nodejs install multi-version version switching
ML18-自然语言处理
C # WPF equipment monitoring software (classic) - the next
【超详细】手把手教你搭建MongoDB集群搭建
typescript56-泛型接口
typescript53-泛型约束
ASP.NET 获取数据库的数据并写入到excel表格中
Vant3 - click on the corresponding name name to jump to the next page corresponding to the location of the name of the TAB bar
FeatureNotFound( bs4.FeatureNotFound: Couldn‘t find a tree builder with the features you requested: