cookie 是浏览器提供给程序的一小段存储空间, 让网站可以保持一些状态. 例如, 当前是否是登陆的状态. cookie 设置的原理是通过 HTTP 协议 完成的, WEB 程序都是建立在 HTTP 协议的基础之上, 所有无论前端如 JavaScipt、后端如 PHP、Python ... 都拥有操作 cookie 的能力. 在 JS 中操作 cookie, 有对应封装好的方法, 不需要采用原生的 HTTP 请求.


设置 cookie

  1. // cookie 的数据格式是 key -> value 组合
  2. document.cookie = 'name= Sophie'
  3. // 设置 cookie 过期的时间 | 通过 “expires” 字段 | 默认的过期时间是浏览器被关闭
  4. document.cookie = 'name= Sophie;expires=' + new Date(
  5. new Date().getTime() + (7 * 24 * 60 * 60 * 1000) // 7 天后过期
  6. )
  7. // 设置 cookie 作用在哪个目录下
  8. document.cookie = 'name=Sophie;path=/' // 根目录代表整个网站下都能读取
  9. document.cookie = 'name=Sophie;path=/less' // 只在 /less 目录下才能读取
  10. // 设置 cookie 作用在哪个域名下
  11. document.cookie = 'name= Sophie;;domain=b.a.com' // b.a.com ...

读取 cookie

  1. document.cookie // 读取当前页面所有的 cookie 信息, 返回的是一组 “字符串”, 其中包含多个 cookie, 每个 cookie 以 “;” 分割
  2. // 如果要读取指定的 cookie, 例如 “name” 的值, 那么可以通过正则表达式
  3. document.cookie.match(/name=(.*?);/)[1] // ‘Sophie’

更具体的 cookie 信息 例如 过期时间 作用域 等.. 在浏览器相关的菜单栏目里.