cookie相关信息
一、基础信息
描述 : 存储数据,当用户访问了某网页的时候,我们就可通过cookie来向访问者电脑上存储数据
缺点:每次都需要请求服务器
存储时间:默认是临时存储的,当浏览器关闭的时候自动销毁。关闭单个网页cookie依然存在
cookie大小:每个cookie存放的内容大小也是有限制的(4kb),不同的浏览器存放大小不一样
cookie存储形式:是以域名形式进行区分的
cookie名字:cookie的数据可以设置名字的
浏览器兼容性:
- 谷歌不能操作本地cookie,但是上线以后可以
- 不同的浏览器存放的cookie位置不一样,也是不能通用的
cookie个数:
- 一个域名下存放的cookie的个数是有限制的,一个域名存储100个cookie
- 不同的浏览器存放的个数不一样
二、cookie的读写
1、写入cookie
(1)写法:document.cookie = '名字=值'
document.cookie = 'username=leo';
document.cookie = 'age=32';
(2)expires——长时间存放一个cookie
描述:需要在设置这个cookie的时候同时给他设置一个过期的时间。(关闭浏览器依然存在)
写法:document.cookie = '名称=值;expires=' + 字符串格式的时间;
var oDate = new Date(); oDate.setDate( oDate.getDate() + 5 ); //设置日期为现在日期的五天以后 document.cookie = 'username=leo;expires=' + oDate.toGMTString(); //关闭浏览器后依然存在,直到五天以后才销毁,把日期的数据类型转换成字符串 document.cookie = 'age=32'; //关闭浏览器age属性过期,不存在了
(3)写入的内容最好encodeURI编码存放
获取编码写法:encodeURI(字符串)
alert( encodeURI('你好') );
翻译编码写法:decodeURI(字符串)
alert( decodeURI('%E4%BD%A0%E5%A5%BD') )
完整的有编码的写法:
document.cookie = 'username='+ encodeURI('leo\n你好') +';expires=' + oDate.toGMTString(); //将username编码存放,日期转为字符串
alert(decodeURI(document.cookie)); //弹出的时候解码cookie
2、读取cookie
(1)写法:document.cookie
alert(document.cookie); //username=leo; age=32
三、cookie的存储
描述:通过document.cookie来获取当前网站下的cookie时,包含了当前网站下所有的cookie。JS没有自带获取单一数值的方法
数据类型:字符串
写法:属性名=属性值,不同属性通过分号+空格的形式串联起来
username=leo; age=32