如何在第一次访问网站时启动intro.js游览

时间:2013-10-09 02:44:43

标签: cookies intro.js

我已将intro.js实施到我的网站。但是我想在第一次访问时才开始巡演。可能是通过使用cookies ..网站是用HTML做的没有PHP ..

1 个答案:

答案 0 :(得分:10)

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中使用cookies的一个很好的起点。

编辑:

所以你想要创建一个新函数,把它放在头部,在脚​​本标记内部(如果你已经有了它们,只需将函数复制到那里(你需要把我在脚本中提供的其他两个函数)标签也))。此功能将检查您是否有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确实存在一个值,那么它什么都不做。