0

如何通过 jQuery cookie ( $.cookie()) 库设置 cookie,仅在第一次加载页面时?click我目前有一个切换功能,可以在事件发生时更改相关 cookie 的值

$('.family-filter').click(function() {
    if ($.cookie('ff') == null) {
        $.cookie('ff', 'on', {
            expires: 1,
            path: '/'
        });
    } else {
        $.cookie('ff', null, {
            path: '/'
        });
    }
});

但是我需要一个默认值,如果没有设置的话。

也很高兴通过 PHP 进行设置,但在这种情况下,我更喜欢通过 Javascript 进行设置

4

3 回答 3

2

在页面加载中,您可以设置此代码以检查和设置 cookie

<?php

if (!isset($_COOKIE["ff"])) {
    // Expire Time is 30 Days
    $expire = time() + 60 * 60 * 24 * 30;
    setcookie('ff', 'on', $expire);
}
于 2012-01-30T18:28:45.750 回答
2

我正在添加一个像这样的 cokkie:

if (document.cookie.indexOf('visited=true') == -1) {
    var thirtydays = 1000*60*60*24*30;
    var expires = new Date((new Date()).valueOf() +  thirtydays);
    document.cookie = "visited=true;expires=" +  expires.toUTCString();
}

它对我来说很好,if如果您需要在用户第一次访问网站时运行某些东西,您可以在子句中添加更多代码。

于 2012-01-31T09:28:20.937 回答
1

好吧,我决定以这种方式实现它:

if ($.cookie('ff') == null) {
    $.cookie('ff', 'on', {
        expires: 30,
        path: '/'
    });
}

$('.family-filter').click(function() {
    if ($.cookie('ff') == 'off') {
        $.cookie('ff', 'on', {
            expires: 30,
            path: '/'
        });
    } else {
        $.cookie('ff', 'off', {
            path: '/'
        });
    }
});
于 2012-01-30T18:50:41.527 回答