当前位置: 首页 > Web前端 > HTML5

前端性能监控window.performance的巧妙写法

时间:2023-04-05 20:27:46 HTML5

performance常规用法相信很多人都在使用window.performance来监控页面的性能。他们会在页面onload后得到window.performance.timing,但实际分析过数据的人会发现在onload时间触发后window.performance.timing.loadEventEnd有时为0。这时候可能有人会延迟重启Get一次,这里带来另外一种实现performance的万无一失用法的思路window.webkitPerformance;vartiming=perf.timing;varnavi=perf.navigation;vartimer=setInterval(function(){if(0!==timing.loadEventEnd){clearInterval(timer);vardata={url:窗口.location.href,ua:window.navigator.userAgent,dns:timing.domainLookupEnd-timing.domainLookupStart,tcp:timing.connectEnd-timing.connectStart,请求:timing.responseEnd-timing.responseStart,空白:timing.domLoading-计时.fetchStart,domready:timing.domEntentLoadediming.fetchStart,onload:timing.loadEventEnd-timing.fetchStart,firstimagetime:0,isdirty:0};使用定时器判断timing.loadEventEnd不等于0时上报。这种写法有两个好处1.不需要只限于onload方法,随时可以执行。2保证loadEventEnd不为0,避免脏数据有很多好处。。。想改进下report的写法吗?