我已经在我的网站上实现了 intro.js。但我只想在第一次访问时开始旅行。可能是通过使用cookies..网站是用html而不是php..
问问题
4498 次
1 回答
11
JavaScript cookie 是一种解决方案,尽管我应该指出,只要用户保留 cookie,它就可以工作。
//set the cookie when they first hit the site
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;
}
//check for the cookie when user first arrives, if cookie doesn't exist call the intro.
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;
}
代码来自http://www.w3schools.com/js/js_cookies.asp
显然,您必须在那里填写一些空白,但这是在 javascript 中使用 cookie 的一个很好的起点。
编辑:
所以你想创建一个新函数,把它放在头部,在脚本标签内(如果你已经有了它们,只需将函数复制到那里(你还想把我提供的另外两个函数也放在脚本标签中) )。此功能将检查您是否有 cookie。如果你这样做,只需返回。如果不这样做,请创建 cookie 并运行介绍,
<head>
<script type="text/javascript">
function checkCookieIntro(){
var cookie=getCookie("mySite");
if (cookie==null || cookie=="") {
setCookie("mySite", "1",90);
runIntro(); //change this to whatever function you need to call to run the intro
}
}
</script>
</head>
现在改变你的身体:
<body onload="checkCookieIntro()">
因此,当主体加载时,它将检查是否存在 cookie,如果不存在,则创建一个值为 1 的 cookie,该 cookie 将持续 90 天(除非用户删除它),然后运行介绍。如果 cookie 确实存在一个值,那么它什么也不做。
于 2013-10-09T02:59:09.050 回答