我想在我的网站上执行动画,只有当用户第一次访问网站时才会如此。我找到了localStorage
的“第一次访问者”代码,但我没有找到这个。
答案 0 :(得分:5)
您可以使用cookie
或localStorage
。考虑您有以下HTML代码:
<div id="first">
Welcome Visitor
</div>
<p>This is my website.</p>
我们将display
元素的first
设置为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";
}
答案 1 :(得分:2)
当访问者访问您的网站时,请设置一个表明他们拥有的Cookie。在每个页面加载时,检查该cookie是否存在。如果是,则用户之前已访问过您的网站。如果它不存在,则可能是他第一次访问......或者他们已经从浏览器中删除了您的cookie。
因此,如果这是我第一次访问,那么cookie就不应该存在,你应该播放动画。
答案 2 :(得分: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;
}
答案 3 :(得分: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
}