采用performance.timing.navigationStart统计首页加载时长,当接口读取完毕后发送统计信息,代码如下:
function logCostTime(){
var _performance = window.performance || window.webkitPerformance || window.msPerformance || window.mozPerformance;
//type:0链接进来;1刷新;2回退按钮;3其他
if (_performance !== undefined && _performance.navigation.type === 0) {
var costTime = +new Date() - _performance.timing.navigationStart;
if(isNumeric(costTime)) {
$.ajax({
url: "/error/logloadtime?costTime=" + costTime,
type: 'get',
dataType: 'json',
contentType: "application/json;charset=utf-8",
cache: false,
success: function (responseData) {
}
});
}
}
}
//判断是否有效数字
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
问题来了,部分机型(目前观察到android4.2,android4.1)有时候会返回特别大的值,大概2到3天,目前原因未定位,怀疑是缓存的原因,有什么解决办法吗?
人生最曼妙的风景,竟是内心的淡定与从容!