Cookie的应用
Cookie 是一些数据, 存储于你电脑上的文本文件中。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:
当用户访问 web 页面时,他的名字可以记录在 cookie 中。
在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
(注意:当使用不同的域名打开同一个网站时,虽然网站相同,但是域名不同,所以需要两套cookie机制;只有在同一个域名下,同一个浏览器的时候,cookie才是可以共享的。)
Cookie的实际使用
储存cookie的格式要求:名字=值
// An highlighted block
<script type="type/javascript>
document.cookie='username=Tom';
alert(document.cookie)
// 注意:当使用等号的时候是添加;没有的时候是查看全部信息。
// 但是当cookie中有该名字的内容时,再使用等号就是修改。
</script>
同一个网站中所有页面共享一套cookie。一般在储存cookie后,其有效期只有在浏览器打开这个期间,如果关掉浏览器再打开后就会过期。
如果是chrome的话,会直接删除,这就是cookie的【过期时间】的特性(默认情况下浏览器关闭以后过期)。
设置信息过期时间
(涉及的相关知识)
获取当前时间,并且当给时间加减时间时,它会自己转换成对应的时间。(比如当前3月31号,当给日期增加1后,其时间就会变成4月1号)
// An highlighted block
var myD = new Date();
myD.setDate(myD.getDate()+8);
console.log(myD.getFullYear());
console.log(myD.getMonth()+1);//月是从0开始的
console.log(myD.getDate());
重点(敲黑板!!!)
封装函数一:
功能:可以添加、删除、修改cookie中的内容
// An highlighted block
function setCookie(key,value,expires) {
var myD = new Date();
myD.setDate(myD.getDate()+expires);
document.cookie=key+'='+value+';expires='+myD;
}
//参数说明:
//key:cookie的名字;
//value:cookie的值;
//expires:数据的有效期(这里是按照天计算的,如果有特殊的需求,把函数中的第二行自行修改一下即可)
//例如:setCookie('mm','456',1);
//cookie中的数据:mm=456 (其有效期为1天)
封装函数二:
功能:获取cookie中的一个内容,如果有就返回其值,没有返回null
// An highlighted block
function getCookie(key) {
allCookie = document.cookie;
//注意:全部取出的数据是一个以';'分割的字符串,如:isRemember=admin; isLogin=true
allCookieArr =document.cookie.split('; ');
//使用split将字符串分割成一个数组,每个元素是一个带等号的字符串
//console.log(allCookieArr);查看分割后的内容
for(var i =0;i<allCookieArr.length;i++){
//循环数组,将字符串以’=’分开,得到一个新的数组,第一个是名字,第二个就是值
var arr2 = allCookieArr[i].split('=');
console.log(arr2);
if (arr2[0] == key){
return arr2[1];
}
}
return null;
}
//例如:
ret=getCookie('mm');
if(ret==null){
console.log('Cookie中没有mm');
}
else {
console.log('Cookie中有mm,值为:'+ret);