什么是 Cookie?
Cookie 是一些数据, 存储于你电脑上的文本文件中。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 "如何记录客户端的用户信息":
- 当用户访问 web 页面时,他的名字可以记录在 cookie 中。
- 在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
通常来说cookie是用来存储数据的,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问者电脑上存储数据,有以下几点值得注意:
1.不同浏览器存放的cookie位置不一样,也是不能通用的2.cookie的存储是以域名形式进行区分的
3.cookie的数据可以设置名字
4.一个域名下存放的cookie的个数是有限的,不同的浏览器存放的个数不一样
5.每个cookie存放的内容大小也是有限制的,不同的浏览器存放大小不一样
1.cookie值的获取:document.cookie
我们通过document.cookie来获取当前网站下的cookie的时候,得到的字符串形式的值,它包含了当前网站下所有的cookie。他会把所有的cookie通过一个分号+空格的形式串联起来
2.cookie值的存储:document.cookie = 'username=Robby'
引号中间就是我们想要存储的内容
3.cookie值存储时间的设置 :document.cookie = '名称=值;expires='+字符串格式时间
如果我们想长时间存放一个cookie,需要在设置这个cookie的时候同时给他设置一个时间,注意时间一定是要以现在时间为基准,不然可能设置的存储时间可能已经过了,而且添加的时间应该是字符串形式的
例: var oDate()=new Date();
oDate=setDate(oDate.getDate()+5);
oDate.toGMTString(); //把日期转换成字符串
document.cookie='username=robby:expires='+oDate;
4.存储的数据最好编码进行存放:enCodeURI
例:document.cookie='username='+encode('robby+你好')+':expires='+oDate;
下面是封装的设置cookie值和获取cookie值的函数
设置cookie值
function setCookie(key,value,t){
var oDate=new Date();
oDate.setDate(oDate.getDate()+t);
document.cookie=key+'='+value+';expires'+oDate.toGMTString();
}
获取对应cookie值
function getCookie(key){
var arr1=document.cookie.split(';');
for(var i=0;i<arr1.length;i++){
var arr2=arr1[i].split('=');
if(arr2[0]==key){
return encodeURI(arr2[1]);
}
}
}