我想知道浏览器会话是全新的(用户刚启动浏览器并加载我的页面)还是后续点击。
如何使用JavaScript完成此操作?
答案 0 :(得分:2)
而不是window.referrer
尝试document.referrer
。我让它在chrome中为我工作
答案 1 :(得分:1)
您可以使用window.referrer
,虽然这不是万无一失的方法,因为某些浏览器设置会隐藏它以保护隐私。不过,它应该可以在大多数默认设置下正常工作。
如果浏览器刚刚启动或者用户从新选项卡到达,它将为您提供undefined
,但请记住,如果用户有主页并从那里访问该网站,它会给出主页。此外,如果用户CMD/CTRL + click
并在新标签页中打开,它会抛出undefined
,尽管他们点击了链接即可到达那里。
说完了,
if(window.referrer){
//stuff to do if clickthrough
}else{
//stuff to do if new session
}
答案 2 :(得分:0)
您可以在网站加载初始页面时设置会话Cookie。因此,当网站加载并且您检查该cookie是否存在时,您将知道它是否是新的会话开始。
答案 3 :(得分:0)
您可以在$(document).ready()函数中检查sessionStorage.length。 如果sessionStorage长度等于0,那么您可以设置一个项目,例如您可以使用jQuery.now()存储页面加载时间的时间。 下次,如果页面重新加载,您可以检查不是0的长度,表明同一会话仍然存在。
$(document).ready(function(){
if(sessionStorage.length!=0){
//do something
}
else{
sessionStorage.setItem("time",jQuery.now());
}
}