浅析JS中document.cookie的用法
浅析JS中document.cookie的用法
cookie是保存在客户端的很小的文件,一般只有几KB左右,且安全性极高,也具有缓解服务器压力的特性;
//document.cookie的完整形式:
//document.cookie='user=值;[expires=失效时间;path=设置地址;domain=域名;secure]' 注[]号部分为可选参数
//1.基本形式:
document.cookie='user='+encodeURIComponent('李') //encodeURIComponent函数可以:将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。(就是说:encodeURIComponent 方法返回一个已编码的 URI)
alert(decodeURIComponent(document.cookie)); //decodeURIComponent,那么将返回初始的字符串
//2.设置cookie的时间:
var date=new Date();
date.setDate(date.getDate()+7);
document.cookie='user='+encodeURIComponent('李')+';expires='+date; //注意分号的位置;
alert(decodeURIComponent(document.cookie));//我们会发现:这个cookie的时间比基础形式延长了七天;
//3.删除cookie:原理将时间调至cookie保存的时间点之前即可:
//方法1:
var date=new Date();
date.setDate(date.getDate()-7);
document.cookie='user='+encodeURIComponent('李')+';expires='+date;
alert(decodeURIComponent(document.cookie));//我们会发现:这个cookie被手动删除了;
//方法2:
document.cookie='user='+encodeURIComponent('李')+';expires='+new Date(0);//alert(new Date(0)):时间为1970年;
alert(decodeURIComponent(document.cookie));//我们会发现:这个cookie被手动删除了;
4.设置path(地址)
//var path='/C:/Users/Administrator/Desktop/%E6%9D%8E%E7%82%8E%E6%81%A2JS/'; //我的cookie原保存的地址;
var path='/C:/Users/Administrator/Desktop/%E6%9D%8E%E7%82%8E%E6%81%A2JS/demo'; //我的cookie现在保存的地址;
document.cookie='user='+encodeURIComponent('李')+';path='+path;
alert(decodeURIComponent(document.cookie));//我们会发现:path改变了;
5.设置domain(域名)
//注domain需要在服务器端测试才有效,格式同上:
var domain=*******.com
document.cookie='user='+encodeURIComponent('李')+';domain='+domain;
alert(decodeURIComponent(document.cookie));
//6.secure
document.cookie='user='+encodeURIComponent('李')+';secure';
alert(decodeURIComponent(document.cookie)); //
例子
例图:
//设置简单cookie
document.cookie='user='+encodeURIComponent('李') //encodeURIComponent函数可以:将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。(就是说:encodeURIComponent 方法返回一个已编码的 URI)
// alert(decodeURIComponent(document.cookie)); //decodeURIComponent,那么将返回初始的字符串
//设置cookie的时间:
var date=new Date();
date.setDate(date.getDate()+7);
document.cookie='user='+encodeURIComponent('李')+';expires='+date; //注意分号的位置;
alert(decodeURIComponent(document.cookie));//我们会发现:这个cookie的时间比基础形式延长了七天