龙空技术网

前端如何计算首屏加载时间

程序员周先生 430

前言:

目前咱们对“异步刷新周期怎么算”大约比较看重,兄弟们都需要学习一些“异步刷新周期怎么算”的相关内容。那么小编同时在网络上搜集了一些关于“异步刷新周期怎么算””的相关文章,希望你们能喜欢,大家一起来学习一下吧!

首屏加载

首先,咱得明白什么是“首屏加载”时间。

答:用户能够看到第一屏区域内所有元素加载完的时间就是“首屏加载”时间。一个页面的“总加载时间”(onload)一定大于等于“首屏加载”时长。

通常需要考虑首屏时间的页面,都是因为在首屏位置内放入了较多的图片资源。

而图片资源处理是异步的,会先将图片长宽应用于页面排版,然后随着收到图片数据由上至下绘制显示的。并且浏览器对每个页面的TCP连接数限制,使得并不是所有图片都能立刻开始下载和显示。

所以我们需要获取首屏内最后一张图片加载完的时间(绑定首屏内所有图片的 load 事件),然后减去 navigationStart 时间,则为“首屏加载”时间。

首屏位置调用 API 开始统计 -> 绑定首屏内所有图片的 load 事件 -> 页面加载完后判断图片是否在首屏内,找出加载最慢的一张 -> 首屏时间复制代码
白屏时间计算?

白屏时间 = 开始渲染时间(首字节时间+HTML下载完成时间)+头部资源加载时间。

// PerformanceTimingperformance.timing.responseStart - performance.timing.navigationStart// or 在 chrome 高版本下(chrome.loadTimes().firstPaintTime - chrome.loadTimes().startLoadTime)*1000
用户可操作时间(即 document.ready)
performance.timing.domContentLoadedEventEnd - performance.timing.navigationStart
onload 总下载时间?
performance.timing.loadEventEnd - performance.timing.navigationStart

标签: #异步刷新周期怎么算