22

したい:

  1. 「query」という名前のCookieが存在するかどうかを確認します
  2. はいの場合、何もしません
  3. いいえの場合、値が1のCookie「クエリ」を作成します

注:私はjQuery1.4.2とjQuerycookieプラグインを使用しています。

誰かが私がこれを行う方法について何か提案がありますか?

4

3 に答える 3

49
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:'/'});
于 2010-05-13T02:00:23.687 に答える
6

ジェイコブスの答えに似ていますが、私は未定義をテストすることを好みます。

if($.cookie('query') == undefined){
    $.cookie('query', 1, { expires: 1 });
}
于 2013-02-26T09:40:28.050 に答える
6

これ??

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

これ以上何が欲しい?

于 2010-05-13T02:04:06.347 に答える