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

Remembering if javascript was run before and not running it again if it was [EnjoyHint.js]

本文关键字:js EnjoyHint 再运行 如果 是否 运行 javascript      更新时间:2023-09-26

我目前在我的网站上使用EnjoyHint.js(它基本上用于网站攻略/游览)。每次重新加载页面时,初始化游览的.js文件都会运行。这意味着即使你在重新加载页面或第二次访问它时已经看到过它,游览也会继续出现。我不确定如何阻止这种情况的发生。我只希望.js脚本运行一次,而不是再次运行,如果用户重新加载或再次访问页面。

是否有可能记住。js文件之前是否在计算机上运行过,如果是,是否再次运行。如果有人访问了这个网站,我不希望如果他们之前已经看过一次的话,网站导览继续出现。

谢谢!

对于这类任务使用cookie是很常见的。有很多库可以简单地使用它们,但是对于这个,您并不需要一个:

// 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";

有两种常见的方法:


  • 饼干更难使用,适用于任何地方。

  • 本地存储更容易使用,可能无法在非常旧的浏览器上工作。兼容性表在这里