Cookie需要依赖服务器环境,所以应先搭建服务器环境。
1. 创建cookie的语法:
a. cookie 的存取都依赖于 document.cookie
b. cookie是以键值对(key=value)形式存在的字符串
c. cookie 存储的时候是一条一条的的存的 (每条数据之前用"; " 分隔)
document.cookie = "名称=值";
2.获取cookie的语法:
a. cookie 的获取也依赖于 document.cookie
b. 获取cookie数据时需要进行数据分割(字符串拆分)
document.cookie;
3. cookie的修改
a. cookie修改 是根据键名(key) 修改对应的值(重新根据键名赋值即可)
document.cookie = "user=hello cookie";
4 . cookie的删除和过期时间有关
a. 默认情况下 如果不设置过期时间 浏览器关闭后 cookie过期
b. 如果设置了过期时间 等到时间到期之后 cookie就消失了
c. 删除cookie其实本质就是 将过期时间修改为 过去的时间
var date = new Date();
date.setDate(date.getDate() - 1);// 一天前过期
document.cookie = "user=helloCookie;expires=" + date.toUTCString();
document.cookie = "pwd=123123;expires=" + date.toUTCString()
过期时间:expires
没有设置expires属性,那么表示该cookie的有效期为会话,会话指浏览器打开到关闭。
设置了expires属性,那么表示该cookie的有效期为一个具体的时间,过期cookie文件删除。
示例:
var d = new Date();
d.setDate( d.getDate()+1 );
document.cookie = "username=zhangsan; expires="+d.toUTCString();
解读:
创建了一个名称叫做username的cookie,它所存储的内容为zhangsan,它的过期时间是创建这个cookie时的1天后。
备注:
通过修改相同命名的cookie的值或过期时间,可以实现该cookie的修改和删除。
路径:path
cookie在读取时,是存在访问权限的,即只能够访问path路径下的cookie
例如,在网站根目录创建的cookie,网站任何位置都能够访问到这个cookie
在 /a/ 目录下创建的cookie,只能在 /a/ 目录下访问这个cookie。
示例:
document.cookie = "username=zhangsan; path=/";
解读:
创建了一个名称叫做username的cookie,它所存储的内容为zhangsan,该cookie在当前网站下任何位置都能读写。
备注:
path和domain属性都是设置该cookie的归属,即cookie作用域,因同源策略的限制,只能够获取同源同作用域下的cookie。