【问题标题】:Jquery cookie not working across a wordpress siteJquery cookie 在 wordpress 网站上不起作用
【发布时间】:2019-04-16 05:59:11
【问题描述】:

我在我的 Wordpress 网站上使用了 jquery cookie。加载网站时设置 Cookie。 cookie 的有效期设置为 1 分钟。如果访问者访问该网站超过 1 分钟,我需要 cookie 值过期。目前,每当访问者浏览页面时,都会设置 cookie 值。

$(document).ready(function(){
    var date = new Date();
    date.setTime(date.getTime() + (60 * 1000));
    $.cookie('timeset', '1', { expires: date, path: '/' ,domain  : 'example.com'});
    setInterval(function(){ 
        console.log($.cookie('timeset'));               
    }, 1000);
});

【问题讨论】:

    标签: jquery wordpress cookies


    【解决方案1】:

    您可以使用sessionStorage 并有条件地设置cookie。 您可以按如下方式更新您的函数。

    更新功能

    $(document).ready(function(){
        var date = new Date();
        date.setTime(date.getTime() + (60 * 1000));
        if(sessionStorage.getItem('cookie_timeset') == null){
            $.cookie('timeset', '1', { expires: date, path: '/' ,domain  : 'example.com'});
            sessionStorage.setItem('cookie_timeset', true);
        }
        setInterval(function(){ 
            console.log($.cookie('timeset'));               
        }, 1000);
    });
    

    第一次,sessionStorage 键 cookie_timeset 的值将是 null。因此满足 if 条件的 cookie 将被设置。

    在任何进一步或其他页面加载(用户浏览网站)期间,sessionStorage 键 cookie_timeset 的值将是 true,因此将跳过 if 条件并且不会设置 cookie。

    希望这会有所帮助。

    【讨论】:

    • 我已经更新了功能。你能试试更新的功能,让我知道它是否有效吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多