js jquery cookieプラグインによるCookieの操作

3919 ワード

Jsコード
  //  cookie       
  function getCookieVal(offset){  
      var endstr = document.cookie.indexOf (";", offset);  
      if (endstr == -1)  
          endstr = document.cookie.length;  
      return unescape(document.cookie.substring(offset, endstr));  
  }  
    
  //  cookie   
  function setCookie(name, value){  
      var expdate = new Date();  
      var argv = setCookie.arguments;  
      var argc = setCookie.arguments.length;  
      var expires = (argc > 2) ? argv[2] : 60*60*24;  
      var path = (argc > 3) ? argv[3] : contextPath;  
      var domain = (argc > 4) ? argv[4] : null;  
      var secure = (argc > 5) ? argv[5] : false;  
      if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));  
      //alert(expdate);  
      document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))  
      +((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))  
      +((secure == true) ? "; secure" : "");  
  }  
    
  //  cookie  
  function delCookie(name){alert(name);  
      var exp = new Date();  
      exp.setTime (exp.getTime() - 1);  
      var cval = getCookie (name);  
      alert(document.cookie);  
      document.cookie  =  name  +  "="  +1  +  ";  expires="+  exp.toGMTString();   
  }  
    
  //  cookie     
  function getCookie(name){  
      var arg = name + "=";  
      var alen = arg.length;  
      var clen = document.cookie.length;  
      var i = 0;  
      while (i < clen){  
          var j = i + alen;  
          if (document.cookie.substring(i, j) == arg)  
              return getCookieVal (j);  
          i = document.cookie.indexOf(" ", i) + 1;  
          if (i == 0) break;  
      }  
      return null;  
  } 
 
jqueryクッキープラグイン
 /**
  * jquery cookie  
  *   :
  * $.cookie('key'); //  Cookie 
  * $.cookie('key', 'value'); //   /  cookie  
  * $.cookie('key', 'value', {expires: 7, path: '/', domain: 'dh89.com', secure: true});//    cookie      (  )       
  * $.cookie('key', null); //    cookie
  */  
 jQuery.cookie = function (name, value, options) { if (typeof value != "undefined") { options = options || {}; if (value === null) { value = ""; options.expires = -1; } var expires = ""; if (options.expires && (typeof options.expires == "number" || options.expires.toUTCString)) { var date; if (typeof options.expires == "number") { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = "; expires=" + date.toUTCString(); } var path = options.path ? "; path=" + options.path : ""; var domain = options.domain ? "; domain=" + options.domain : ""; var secure = options.secure ? "; secure" : ""; document.cookie = [name, "=", encodeURIComponent(value), expires, path, domain, secure].join(""); } else { var cookieValue = null; if (document.cookie && document.cookie != "") { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); if (cookie.substring(0, name.length + 1) == (name + "=")) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } };