Performance 接口可以获取到当前页面中与性能相关的信息。
function getTiming() {
setTimeout(() => {
let t = window.performance.timing;
let performanceInfo = [{
key: "Redirect",
desc: "网页重定向的耗时",
"value(ms)": t.redirectEnd - t.redirectStart
},
{
key: "AppCache",
desc: "检查本地缓存的耗时",
"value(ms)": t.domainLookupStart - t.fetchStart
},
{
key: "DNS",
desc: "DNS查询的耗时",
"value(ms)": t.domainLookupEnd - t.domainLookupStart
},
{
key: "TCP",
desc: "TCP链接的耗时",
"value(ms)": t.connectEnd - t.connectStart
},
{
key: "Waiting(TTFB)",
desc: "从客户端发起请求到接收响应的时间",
"value(ms)": t.responseStart - t.requestStart
}, {
key: "Content Download",
desc: "下载服务端返回数据的时间",
"value(ms)": t.responseEnd - t.responseStart
},
{
key: "HTTP Total Time",
desc: "http请求总耗时",
"value(ms)": t.responseEnd - t.requestStart
},
{
key: "First Time",
desc: "首包时间",
"value(ms)": t.responseStart - t.domainLookupStart
},
{
key: "White screen time",
desc: "白屏时间",
"value(ms)": t.responseEnd - t.fetchStart
},
{
key: "Time to Interactive(TTI)",
desc: "首次可交互时间",
"value(ms)": t.domInteractive - t.fetchStart
},
{
key: "DOM Parsing",
desc: "DOM 解析耗时",
"value(ms)": t.domInteractive - t.responseEnd
},
{
key: "DOMContentLoaded",
desc: "DOM 加载完成的时间",
"value(ms)": t.domInteractive - t.navigationStart
},
{
key: "Loaded",
desc: "页面load的总耗时",
"value(ms)": t.loadEventEnd - t.navigationStart
}]
console.table(performanceInfo);
}, 0)
}
window.addEventListener('load', getTiming, false)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。