7

只有当用户第一次访问网站时,我才想在我的网站上播放动画。我用 找到了“第一次访问者”代码localStorage,但我没有找到这个。

4

5 回答 5

10

Working FIDDLE Demo

您可以使用cookielocalStorage。假设您有以下 HTML 代码:

<div id="first">
    Welcome Visitor
</div>

<p>This is my website.</p>

我们将displayoffirst元素设置为none。所以它永远不会显示。

#first {
    display: none;
}

然后我们第一次检查。如果是第一次,我们会展示那个元素(也许会用它做一些动画):

// this is the first time
if (! localStorage.noFirstVisit) {
    // show the element
    // and do the animation you want
    document.getElementById('first').style.display = 'block';

    // check this flag for escaping this if block next time
    localStorage.noFirstVisit = "1";
}
于 2013-05-20T02:47:53.437 回答
4

我会做以下事情。你在这里不需要cookies。只需检查 document.referrer 是否包含您的域。如果不是,则访问者只是访问了您的域而没有访问更多页面。

if(document.referrer.indexOf("yourdomain.com")==-1) {
 //first pageview of the session
}

此外,您还可以设置一个 cookie,以防 document.referrer 在某处丢失。

于 2015-08-26T13:33:49.017 回答
2

当访问者访问您的网站时,设置一个 cookie 来表明他们有。在每次页面加载时,检查该 cookie 是否存在。如果是这样,则该用户以前曾访问过您的网站。如果它不存在,那要么是他的第一次访问……要么他们已经从浏览器中删除了您的 cookie。

所以如果这是我第一次访问,cookie 不应该在那里,你应该播放动画。

于 2013-05-20T01:35:39.220 回答
1

我正在为 @Joseph the Dreamer 方法提供示例代码

创建和存储 Cookie

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

获取 Cookie 值

function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
  {
  c_start = c_value.indexOf(c_name + "=");
  }
if (c_start == -1)
  {
  c_value = null;
  }
else
  {
  c_start = c_value.indexOf("=", c_start) + 1;
  var c_end = c_value.indexOf(";", c_start);
  if (c_end == -1)
  {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}

Cookie 与 Javascript

于 2013-05-20T13:53:31.590 回答
0

假设您指的是在此窗口中查看的第一页:

   if (location.referrer == location.href)
   {
      // the page was opened in a new window or tab and accessed directly
   }
   else if (location.referrer.indexOf(location.hostname) == -1) 
   {    
      // The page before this one was not a page on this site
   }
于 2013-05-20T02:11:30.917 回答