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

标签 javascript html css

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

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

谢谢!

最佳答案

此类任务通常使用 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";

关于javascript - 记住之前是否运行过 javascript,如果它是 [EnjoyHint.js],则不再运行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39110563/

相关文章:

javascript - 删除输入中输入的最后一个字符 - Javascript

javascript - 在 ES6 中使用默认值和扩展语法

javascript 适用于 jsfiddle 但不适用于我的浏览器

html - 自定义 CSS 按钮

php - 通过 PHP 的 HTML 不采用 CSS 规则

JavaScript 计算器脚本不起作用

javascript - 有人可以解释使用 {} 的 JS 正则表达式限制吗

javascript - 如何通过两次单击在两个方向上旋转图标?

javascript - 如何使用 Twitter Bootstrap(带有面板、 Accordion 等)创建嵌套可折叠容器的所需布局?

jQuery、CSS 和兄弟选择器问题