Pergunta

Eu quero:

  1. Verifique se existe um cookie com o nome de "consulta"
  2. Se sim, então não faça nada
  3. Se não, crie um cookie "consulta" com um valor de 1

Nota: estou usando o jQuery 1.4.2 e o JQuery Cookie Plugin.

Alguém tem alguma sugestão sobre como posso fazer isso?

Foi útil?

Solução

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

Como alternativa, você pode escrever uma função de wrapper para isso:

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

Então você só precisará escrever isso no código do seu cliente:

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

Outras dicas

isto??

$.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.

O que mais você quer??

Semelhante a Jacobs responde, mas prefiro testar indefinidos.

if($.cookie('query') == undefined){
    $.cookie('query', 1, { expires: 1 });
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top