我想检查打开我网站的用户是否是新用户(输入网址或通过谷歌重定向),然后显示消息。
但是当用户浏览网站(如同等的子页面)时,不会显示此消息。
但是当用户关闭浏览器并再次访问网站(可能会在几分钟之后)时,该消息应该再次显示。
如何在JavaScript中实现这样的功能?
答案 0 :(得分:3)
您可以使用Cookie,localStorage
,sessionStorage
或引荐来源信息。请注意,它们都有各自的优点和缺点,并且没有100%可靠的方法来检测新访问者。
使用Nadav S提到的firstImpression.js库可能是最简单的方法。
要让用户显示关闭并重新打开网站的消息:
取消设置Cookie / localStorage
数据on unload或
使用引荐来源信息或基于sessionStorage
的解决方案
请参阅以下MDN资源:
答案 1 :(得分:1)
来自MDN:
返回链接到此页面的页面的URI。
string = document.referrer;
如果用户导航到该页面,则值为空字符串 直接(不是通过链接,但是,例如,通过书签)。以来 此属性仅返回一个字符串,它不会为您提供DOM访问权限 到推荐页面。
这意味着:
if (!document.referrer) {
//Direct access
} else {
var referer = document.referrer;
//Request comes from referer
}
如果您想保存此状态,则需要查看cookies。
答案 2 :(得分:0)
您可以使用Cookie实现此目的。
当访问者首次访问您的网页时,您会检查您的Cookie是否存在,如果没有向他们显示消息,然后为将来的网页创建Cookie。
答案 3 :(得分:0)
很容易,你想要会话存储
{{1}}
答案 4 :(得分:0)
使用cookies可能是您最好的选择。它们使用起来也非常简单。只需写下
if(document.cookie = "HasVisited=true"){
//whatever you want it to do if they have visited
}
else {
document.cookie = "HasVisited=true"
//that just saves to their browser that they have for future reference
}