You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// DOM 解析第一道脚本开始手动打点performance.mark('starting_calculations');// 主角开始加载中...performance.mark('ending_calculations');performance.measure('FMP','starting_calculations','ending_calculations');
可视化性能分析
原文链接
简介
提出问题
原理篇已经指出,这里再次列出需要了解的标准
采集的数据分为 HTML 解析加载过程的数据和 HTML 内资源加载的信息数据。
实操
HTML 分析
performance.getEntriesByType('navigation')[0]
,简述navigation
performance.timing
,简述timing
<link rel="dns-prefetch" href="cdn.xx.com" />
加了吗?可以考虑如在 react 某个生命周期打点
Resource 分析
可以定义一些公司可控域名,就可以分类本域(host)、公司可控(own)、第三方(external)
根据 initiatorType 划分
MIME
划分Time-Allow-Origin
未配置,这会影响你对资源例如 DNS等收集。Time-Allow-Origin
不对,浏览器处于安全置为0
上报
选择
visibilitychange + navigator.sendBeacon + 兼容同步ajax
幸存者偏差,可能用户环境特别糟糕,等了很久,还没显示有用信息或可以交互,就被关掉了,那么这时是没有采集到的。
可以利用
visibilitychange
上传performance.now()
收集用户跳出时间。总结
The text was updated successfully, but these errors were encountered: