Frage

Ich möchte:

  1. Überprüfen Sie, ob ein Cookie mit dem Namen von „query“ existiert
  2. Wenn ja, dann nichts tun
  3. Wenn nein, erstellen Sie ein Cookie "Abfrage" mit einem Wert von 1

Hinweis: Ich bin mit jQuery 1.4.2 und der jQuery Cookie-Plugin

Hat jemand irgendwelche Vorschläge haben, wie kann ich dies tun?

War es hilfreich?

Lösung

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

Alternativ können Sie eine Wrapper-Funktion für diesen schreiben:

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

Dann würden Sie brauchen nur diesen Code in Ihrem Client zu schreiben:

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

Andere Tipps

Dieses ??

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

Was wollen Sie ??

ähnlich wie Jacobs Antwort, aber ich bevorzuge Test für nicht definiert.

if($.cookie('query') == undefined){
    $.cookie('query', 1, { expires: 1 });
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top