AI摘要
本文介绍了一个JavaScript代码示例,用于分析网页的停留时间和访问来源。代码通过设置定时器记录用户在页面上的停留时间,并使用localStorage和cookie技术存储数据。当用户离开页面时,通过`onbeforeunload`事件触发数据的保存。如果用户直接访问页面,则更新最后一条记录的停留时间;如果是通过其他页面跳转而来,则将新数据添加到localStorage中。此外,还提供了一个`getReferrer`函数,用于获取用户的访问来源。
本文介绍了一个JavaScript代码示例,用于分析网页的停留时间和访问来源。代
源代码如下:
var second = 0;
window.setInterval(function () {
second ++;
}, 1000);
var tjArr = localStorage.getItem("jsArr") ? localStorage.getItem("jsArr") : '[{}]';
$.cookie('tjRefer', getReferrer() ,{expires:1,path:'/'});
window.onbeforeunload = function() {
if($.cookie('tjRefer') == ''){
var tjT = eval('(' + localStorage.getItem("jsArr") + ')');
if(tjT){
tjT[tjT.length-1].time += second;
var jsArr= JSON.stringify(tjT);
localStorage.setItem("jsArr", jsArr);
}
} else {
var tjArr = localStorage.getItem("jsArr") ? localStorage.getItem("jsArr") : '[{}]';
var dataArr = {
'url' : location.href,
'time' : second,
'refer' : getReferrer(),
'timeIn' : Date.parse(new Date()),
'timeOut' : Date.parse(new Date()) + (second * 1000)
};
tjArr = eval('(' + tjArr + ')');
tjArr.push(dataArr);
tjArr= JSON.stringify(tjArr);
localStorage.setItem("jsArr", tjArr);
}
};
function getReferrer() {
var referrer = '';
try {
referrer = window.top.document.referrer;
} catch(e) {
if(window.parent) {
try {
referrer = window.parent.document.referrer;
} catch(e2) {
referrer = '';
}
}
}
if(referrer === '') {
referrer = document.referrer;
}
return referrer;
}