HTML宝典(第 1 版)
5.1.2 读取Cookie
阅读(

HTML基础

HTML元素

表单及应用

Canvas绘图基础

客户端存储

Cookie

存储Cookie

读取Cookie

可以通过document.cookie直接读取cookie的内容:

var strCookie = document.cookie; 

此时,strCookie是一个由该域名下的所有cookie的名/值对所组成的字符串,名/值对间以“分号加空格”分隔。为了方便查看,可以使用split()方法将cookie中的名/值对解析出来,得到一个cookie的列表。然后,再使用相应的解码方式,把cookie的值还原出来。

cookie值的解码方式,取决于之前存储cookie时所采用的编码方式。比如使用encodeComponent()函数对值进行编码,则要使用decodeComponent()函数对其值进行解码。代码如下:

function getCookie(name) {
  var cookies = document.cookie;
  var list = cookies.split("; ");          // 解析出名/值对列表
      
  for(var i = 0; i < list.length; i++) {
    var arr = list[i].split("=");          // 解析出名和值
    if(arr[0] == name)
      return decodeURIComponent(arr[1]);   // 对cookie值解码
  } 
  return "";
}

说明:

许多浏览器(如Google Chrome)不支持在本地文件中直接访问cookie,所以,要确保是在Web服务器中打开文件,否则可能无法进行cookie的读写操作。虽然IE允许对本地文件的cookie的读写操作,但cookie始终是会话级别的,即使通过max-age属性延长了cookie的生存期。

从客户端读取cookie时,name与value之外的其他属性都是不可读的,也不会被提交,浏览器只会提交name与value属性。

关于作者

歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。

如果本教程对您帮助很大,请随意打赏。您的支持,将鼓励我写出更好的教程!

← 键盘方向键翻页 →
返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验