我需要能够为回访者设置不同的页面样式。
我正在尝试使用localStorage做到这一点,这是我到目前为止所拥有的。
1)。检查是否设置了访问标志,以及是否将一个类添加到正文中
if (localStorage.getItem("visit") !== null) {
$('body').addClass('returning');
}
2)。如果该标志不存在,则将其添加到localStorage
if (localStorage.getItem("visit") == null) {
localStorage.setItem("visit", 1);
}
问题是页面第一次加载此代码时工作,因为该标志不存在,但是在页面刷新后,该标志存在并且我成为回头客
仅当用户回到网站后而不是重新加载页面时,如何才能检测到回访者?
最佳答案
对于每个用户,存储一个timestamp
而不是一个boolean
值
代码段
// When a user visits your web-page
var timestamp = localStorage.getItem("timestamp");
if (timestamp !== null) {
// taking visiting-gap as 15 minutes
var epochGap = 900;
// convert timestamp to seconds
var jsTimestamp = (new date(timestamp).getTime())/1000;
var currentTimestamp = (new date(timestamp).getTime())/1000;
// Mark visitor as returning if coming after the visiting-gap
if (jsTimestamp > (currentTimestamp + epochHour)) {
$('body').addClass('returning');
}
}
// Save timestamp on first visit
if (localStorage.getItem("timestamp") == null) {
var timestamp = new Date().getTime();
localStorage.setItem("timestamp", timestamp);
}