【问题标题】:Set a cookie for 1 hour and check for it on load设置一个 cookie 1 小时并在加载时检查它
【发布时间】:2017-10-14 07:09:59
【问题描述】:

我想在用户访问网站时制作一个小动画,但我不希望每次用户在子页面之间切换时都显示它。目前它每次都做动画,我不知道为什么。

这是我的代码:

$(document).ready(function() {
    "use strict";
    if (document.cookie.indexOf('visited') > -1) {
        // They've been here before.
        alert("hello again");
    }
    else {
        // set a new cookie
        var d = new Date();
        d.setTime(d.getTime() + (3600 * 1000));
        document.cookie = "visited=yes;" + "expires=" + d.toUTCString() + ";path=/";
        // slide in navbar
        sleep(100);
        document.getElementById("navlist").style.left = "63%";
    }
});

【问题讨论】:

    标签: javascript jquery html cookies setcookie


    【解决方案1】:

    您可以像这样简单地使用sessionStorage 代替cookie:

    $(document).ready(function(){
      if(sessionStorage.getItem("visitedBefore") == undefined){
                sessionStorage.setItem("visitedBefore", "1");
                alert("Welcome for the first time!");
        }
    });
    

    Here is the JSFiddle demo

    【讨论】:

    • 1 小时后它也会自毁吗?
    • 不,如果用户关闭 Web 浏览器选项卡或窗口,它会自行销毁。这意味着只要用户在第一次播放动画后在同一区域内冲浪,就不会触发动画。
    • 完美!非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 2023-03-19
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2015-10-28
    • 2017-01-22
    相关资源
    最近更新 更多