Установить cookie при первой загрузке страницы - PullRequest
0 голосов
/ 30 января 2012

Как мне установить cookie через библиотеку jQuery cookie ($.cookie()), только при первой загрузке страницы?В настоящее время у меня есть функция переключения, чтобы изменить значение файла cookie при click событии

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

Но мне нужно значение по умолчанию, если ни один из них не установлен.

Также рад установить его через PHP, но я бы предпочел для этого случая, чтобы сделать это через Javascript

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Я добавляю кокки так:

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 голосов
/ 30 января 2012

При загрузке страницы вы можете установить этот код для проверки и установить куки

<?php

if (!isset($_COOKIE["ff"])) {
    // Expire Time is 30 Days
    $expire = time() + 60 * 60 * 24 * 30;
    setcookie('ff', 'on', $expire);
}
1 голос
/ 30 января 2012

Ну, я решил реализовать это так:

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: '/'
        });
    }
});
...