在首次加载页面时设置cookie

时间:2012-01-30 18:19:42

标签: javascript jquery cookies jquery-cookie

如果首次加载页面时,如何通过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来实现

3 个答案:

答案 0 :(得分:2)

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

<?php

if (!isset($_COOKIE["ff"])) {
    // Expire Time is 30 Days
    $expire = time() + 60 * 60 * 24 * 30;
    setcookie('ff', 'on', $expire);
}

答案 1 :(得分: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子句中添加更多代码。

答案 2 :(得分: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: '/'
        });
    }
});