记住javascript之前是否运行过,如果是[EnjoyHint.js]则不再运行它

时间:2016-08-23 20:58:14

标签: javascript html css

我目前正在我的网站上使用EnjoyHint.js(它主要用于网站演练/旅游)。每次重新加载页面时,都会运行初始化游览的.js文件。这意味着即使您在重新加载页面或第二次访问页面时已经看过它,游览也会一直显示。我不确定如何阻止这种情况发生。我只希望.js脚本运行一次,如果用户重新加载或再次访问该页面,则不再运行。

是否可以记住.js文件之前是否在计算机上运行,​​如果是,则不再运行.js文件。如果有人访问该网站,我不希望网站浏览如果他们之前已经看过一次就会继续出现。

谢谢!

2 个答案:

答案 0 :(得分:1)

使用cookie对于此类任务很常见。有plenty of libraries以简单的方式使用它们,但为此,您并不需要一个:

// If the cookie is not set to 1
if(document.cookie.indexOf('tourIsDone=1') < 0){
    //Launch the tour
    launchTour();
    // Set the cookie (you can also do it once the tour is finished)
    document.cookie = "tourIsDone=1";
}

说明,因为document.cookie可能令人困惑

阅读document.cookie时,会得到一个包含每个cookie的长字符串:

cookie1=value1;cookie2=value2

检查document.cookie.indexOf(nameOfCookie) < 0将确保它不在那里。

但是,为了设置单个cookie而不更改其他cookie,您只需要执行以下操作:

document.cookie = "newCookie=newValue";

答案 1 :(得分:0)

有两种常见方式:

  • Cookies
    更难使用,无处不在。
  • Local Storage
    易于使用,可能无法在非常旧的浏览器上使用。兼容性表here