Подтвердить что ты не робот

Создайте файл cookie, если (и только если) он еще не существует

Я хочу:

  • Проверьте, существует ли файл cookie с именем "запрос"
  • Если да, то ничего не делайте
  • Если нет, создайте "запрос" cookie со значением 1

Примечание. Я использую jQuery 1.4.2 и плагин jQuery cookie.

Есть ли у кого-нибудь какие-либо предложения относительно того, как я могу это сделать?

4b9b3361

Ответ 1

if($.cookie('query') === null) { 
    $.cookie('query', '1', {expires:7, path:'/'});
}

В качестве альтернативы вы можете написать для этого функцию-обертку:

jQuery.lazyCookie = function() {
   if(jQuery.cookie(arguments[0]) !== null) return;
   jQuery.cookie.apply(this, arguments);
};

Тогда вам нужно будет только написать это в своем клиентском коде:

$.lazyCookie('query', '1', {expires:7, path:'/'});

Ответ 2

Подобно Jacobs, но я предпочитаю тестировать undefined.

if($.cookie('query') == undefined){
    $.cookie('query', 1, { expires: 1 });
}

Ответ 3

это??

$.cookie('query', '1'); //sets to 1...
$.cookie('query', null); // delete it...
$.cookie('query'); //gets the value....

if ($.cookie('query') == null){ //Check to see if a cookie with name of "query" exists
  $.cookie('query', '1'); //If not create a cookie "query" with a value of 1.
} // If so nothing.

что еще вам нужно?