JavaScript操作cookie
Cookie是一些数据,用于存储页面的一些信息,存储在你电脑文本文件中,由于HTTP请求是无状态的,不会记录用户信息,Cookie有助于服务端获取用户信息,保存某种状态。
1.通过document.cookie
创建
通过
document
对象的cookie
创建cookie,并添加过期时间(默认浏览器关闭时删除),并添加cookie路径(默认属于当前页面)
document.cookie="name=jode; expires=Thu, 18 Dec 2018 12:00:00 GMT; path=/";
通过
document.cookie
读取整个cookie,以字符串的方式返回,类似:cookie1=value;cookie2=value
修改cookie只需要重新设置,原来值将被覆盖,这样达到修改的目的。
删除cookie只需要把过期时间设置为当前时间之前,过期的cookie将删除。
2.JavaScript示例,设置cookie函数
参数
key: 设置cookie键名
val: 设置cookie值
exday: 过期时间、天
1 | function setCookie(key, val, exday){ |
3.JavaScript示例,获取cookie值函数
参数
key: cookie键名
1 | function getCookie(key){ |
4.JavaScript示例,删除cookie值函数
参数
key: cookie键名
1 | function delCookie(key){ |
5.对比localStrong和sessionStrong
| 特性 | Cookie | localStrong | sessionStrong |
| -------- | ----- | ---- |
| 数据的声明周期 | 一般由服务器生成,可设置失效时间。如果在浏览器生成,默认是关闭浏览器之后失效 | 除非被清楚,否则永久保存 | 仅在当前会话有效,关闭页面或浏览器后被清除 |
| 存放数据大小 | 4KB | 一般5MB | 一般5MB |
| 与服务端通信 | 每次都会携带在HTTP头中,如果使用 cookie 保存过多数据会带来性能问题 | 仅在客户端中保存,不参与和服务器的通信 | 同 localStorage |
| 用途 | 一般由服务器端生成,用于标识用户身份 | 用于浏览器端缓存数据 | 同 localStorage |