使用js检测站点访问是否是新的

时间:2015-05-17 19:31:10

标签: javascript html web

我想检查打开我网站的用户是否是新用户(输入网址或通过谷歌重定向),然后显示消息。

但是当用户浏览网站(如同等的子页面)时,不会显示此消息。

但是当用户关闭浏览器并再次访问网站(可能会在几分钟之后)时,该消息应该再次显示。

如何在JavaScript中实现这样的功能?

5 个答案:

答案 0 :(得分:3)

您可以使用Cookie,localStoragesessionStorage或引荐来源信息。请注意,它们都有各自的优点和缺点,并且没有100%可靠的方法来检测新访问者。

使用Nadav S提到的firstImpression.js库可能是最简单的方法。

要让用户显示关闭并重新打开网站的消息:

  • 取消设置Cookie / localStorage数据on unload

  • 使用引荐来源信息或基于sessionStorage的解决方案

请参阅以下MDN资源:

稍微相关:http://www.cookielaw.org/faq/

答案 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
}