首页 > 编程语言 > 详细

JavaScript操作cookie

时间:2020-01-16 21:23:56      阅读:66      评论:0      收藏:0      [点我收藏+]

封装js操作cookie工具对象

cookie.js文件

(function () {
  // cookie工具对象
  var cookieUtils = {};
  // cookie数据
  var data = {};
  /**
   * 设置cookie
   * @param key cookie的名称
   * @param value cookie的值
   * @param timeOfDay cookie的有效时长(单位是天)
   */
  cookieUtils.set = function (key, value, timeOfDay) {
    var date = new Date();
    date.setTime(date.getTime() + (timeOfDay * 24 * 60 * 60 * 1000));
    document.cookie = key + "=" + value + ";expires=" + date;
    // 更新cookie数据
    updateData(data)
  };
  /**
   * 获取指定cookie的值
   * @param key cookie的名称
   * @returns String cookie的值
   */
  cookieUtils.get = function(key){
    return data[key];
  }
  /**
   * 获取所有的cookie
   * @returns Object cookie数据对象
   */
  cookieUtils.getAll=function(){
    return data;
  }
  /**
   * 移除指定的cookie
   * @param key cookie的名称
   */
  cookieUtils.del = function (key) {
    this.set(key, '', -1);
    updateData(data);
  }
  /**
   * 更新cookie数据对象
   * @param  obj 
   */
  function updateData(obj) {
    var cookieStr = document.cookie.replace(/\s/g,"");
    if (cookieStr.length != 0) {
      var cookies = cookieStr.split(";");
      cookies.forEach(function (element) {
        var arr = element.split("=");
        obj[arr[0]] = arr[1];
      });
    }
  }
  updateData(data);
  window.cookieUtils = cookieUtils;
 })();

测试

  <script>
    // 设置cookie
    cookieUtils.set("uname","admin");
    // 读取
    var v  = cookieUtils.get('uname');
    console.log(v);
    // 移除
    cookieUtils.del("uname");
    console.log(document.cookie);
  </script>

JavaScript操作cookie

原文:https://www.cnblogs.com/lpl666/p/12203123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!