1

cookie是储存在用户本地终端上的不超过4KB的小型数据

简单说明:

/**
 * 常用
 * @name username    cookie名称
 * @name expires     设置cookie的过期时间(UTC或GMT时间)。默认情况下,cookie在浏览器关闭时删除
 * 其他
 * @name path        定义了Web站点上可以访问该Cookie的目录
 * @name domain      指定了可以访问该 Cookie 的 Web 站点或域
 * @name secure      指定是否使用HTTPS安全协议发送Cookie
 * @name HTTPOnly    用于防止客户端脚本通过document.cookie属性访问Cookie
 **/
 
// 设置 cookie
document.cookie = "username=jimmy; expires=Mon, 16 Nov 2020 12:00:00 GMT";

// 获取 cookie
var cookie = document.cookie;

// 删除 cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

完整示例:

  /**
   * 设置 cookie
   * @params name        键
   * @params value       值
   * @params exitDays    过期时间(天)
   **/
  function setCookie(name, value, exitDays) {
    var cookieText = name + '=' + value + '; '
    var date = new Date()
    var time = exitDays * 24 * 60 * 60 * 1000
    date.setTime(date.getTime() + time)
    var expiresText = 'expires=' + date.toGMTString()
    document.cookie = cookieText + expiresText
  }

  // 获取 cookie
  function getCookie(name) {
    var text = name + '='
    var cookieArr = document.cookie.split(';')
    for (var i = 0; i < cookieArr.length; i++) {
      var cookieItem = cookieArr[i].trim()
      if (cookieItem.indexOf(text) == 0) {
        return cookieItem.substring(text.length, cookieItem.length) // 截取value值
      }
    }
    return ''
  }

  // 删除 cookie
  function delCookie(name) {
    var cookieText = name + '=; '
    var expiresText = 'expires=Thu, 01 Jan 1970 00:00:00 GMT'   // 比当前时间早
    document.cookie = cookieText + expiresText
  }

  // 检测 cookie
  function checkCookie() {
    var user = getCookie('username')
    if (user != '') {
      alert('欢迎 ' + user + ' 再次访问')
    } else {
      user = prompt('请输入你的名字:', '')
      if (user != '' && user != null) {
        setCookie('username', user, 30)
      }
    }
  }

珍惜眼前
7 声望2 粉丝