cookie使用随笔

cookie是一种浏览器缓存,可以理解为存放在浏览器上的一种小文件。

大小数目限制:

  不同浏览器对于大小和数目均有不一样的限制,大小一般为4k,数目从30~50个(视浏览器类型),以键值对的形式存储,可通过浏览器进行查看

设置:

  document.cookie= a+ "="+ b;(a是key, b是value)

  在不设置过期时间的情况下,cookie的过期时间是直至浏览器关闭为止

  加入过期时间:

  document.cookie= a+ "="+ b+ ";"+ "expires="+ 世界时间+ ";path=/";

  (expire翻译过来是期限)

  (请加入路径,表示哪些路径下的文件有权限读取该 cookie,以免出现明明设置了cookie,却无法获取它的值的情况!具体介绍可参考: http://blog.csdn.net/caomiao2006/article/details/45133519)

  完整方法即:

  //设置cookie
  function _setCookie(cname, cvalue, cDay) {
      var d = new Date();
      d.setTime(d.getTime() + (cDay*24*60*60*1000));

    //toUTCString()转换为世界时间
      var expires = "expires="+d.toUTCString()+"; path=/";
      document.cookie = cname + "=" + cvalue + "; " + expires;
  };

  (设置时最好不要出于习惯加入空格,会连空格也算入cookie内容!

  //获取cookie
  function _getCookie(cname) {
      var name = cname + "=";
      var ca = document.cookie.split(';');
      for(var i=0; i<ca.length; i++) {
          var c = ca[i];
          while (c.charAt(0)==' ') c = c.substring(1);
          if (c.indexOf(name) != -1) {
              console.log(c.substring(name.length, c.length))
              return c.substring(name.length, c.length);
          }
      }
      return "";
  };

  //清除某一个cookie
  function _clearCookie(name) {
      _setCookie(name, "", -1);
  };

  (原理:将其过期时间设为之前的时间);

原文地址:https://www.cnblogs.com/yanze/p/5971083.html