我正在使用HTML5 Navigation Timing API来衡量用户在我网站上感知的网页加载时间。
我使用以下代码来衡量页面加载时间。
function recordLoadTime () {
/* Process load time using "Navigation Timing" */
if (typeof(window.performance) !== "undefined" && typeof(window.performance.timing) !== "undefined") {
if (window.performance.timing.loadEventEnd > 0) {
var time = window.performance.timing.loadEventEnd - window.performance.timing.navigationStart;
} else {
setTimeout(recordLoadTime, 1000);
}
}
}
time
变量也会添加到cookie中,并在用户后续请求中记录在服务器上。
我正面临一个问题,即记录时间非常接近当前纪元时间,即navigationStart
设置为0但loadEventEnd
具有非零值(即当前纪元时间)
我在Chrome / 11.0,Chrome / 12.0,MSIE 7.0,MSIE 8.0和MSIE 9.0上看到过这种行为
我暂时通过修改上述代码来解决这个问题,仅在navigationStart
大于0时记录加载时间。但我希望记录所有服务页面的加载时间。
答案 0 :(得分:1)
window.onload = function()
{
setTimeout(function(){
var t = performance.timing;
}, 0);