Create a cookie if (and only if) it doesn't already exist

后端 未结 3 2072
遇见更好的自我
遇见更好的自我 2020-12-05 23:51

I want to:

  1. Check to see if a cookie with name of \"query\" exists
  2. If yes, then do nothing
  3. If no, create a cookie \"query\" w
相关标签:
3条回答
  • 2020-12-06 00:20

    Similar to Jacobs answer but I prefer to test for undefined.

    if($.cookie('query') == undefined){
        $.cookie('query', 1, { expires: 1 });
    }
    
    0 讨论(0)
  • 2020-12-06 00:22

    this??

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

    what more do you want??

    0 讨论(0)
  • 2020-12-06 00:23
    if($.cookie('query') === null) { 
        $.cookie('query', '1', {expires:7, path:'/'});
    }
    

    Alternatively, you could write a wrapper function for this:

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

    Then you'd only need to write this in your client code:

    $.lazyCookie('query', '1', {expires:7, path:'/'});
    
    0 讨论(0)
提交回复
热议问题