慕仔8594890
2019-04-04 22:37
var Cookie={
set: function(key,val,expiresDays) {
//判断是否设置了expiresDays
if(expiresDays){
var date = new Date();//设置参数date的值为今天的时间
//格式化时间
/*setTime() 向默认时间(1970/01/01),
添加毫秒数(在括号内),并刷新显示新的日期和时间*/
/*date.getTime() 返回date指定的日期和时间距离(1970/01/01)
之间的毫秒数*/
date.setTime(date.getTime()+expiresDays*24*60*60*1000);//现在date就是新的日期格式表示的时间
//toGMTString() 方法可根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果。
var expiresStr = "expires="+date.toGMTString()+';';
}else{
var expiresStr='';
}
//该属性是一个可读可写的字符串,可使用该属性对当前文档的 cookie 进行读取、创建、修改和删除操作。
//现在是进行创建操作
//重新定义了cookie 的三个数值
document.Cookie = key+'='+escape(val)+';'+expiresStr;
},
get: function(key){
//将cookie中的空格全部换成空,/g表示全局替换
var getcookie = document.cookie.replace(/[ ]/g,'');
// 将cookie的值以';'来拆分数组保存在res 中
var resarr = getcookie.split(';');
var res ;
for (var i = 0,len=resarr.length; i < len; i++) {
//设置一个值arr,arr的值为数组resarr中下标i的值
//并且以等号拆分开来数组
var arr = resarr[i].split('=');
//如果下标0(也就是拆分开的第一个值,也就是数组的key)和要寻找的key一样
if (arr[0]==key) {
//那么字符串res就是下标1(也就是拆分出来后的值)的值
res = arr[1];
break;//已经找到了,结束并退出循环
}
}
return unescape(res);//返回之前已经编码了的
}
};
以上是我的代码...研究一整天了,要抓狂
设置cookie的时候 控制台输入的内容也是严格区分大小写的,你试试Cookie.set('username','king',5);
PHP中的会话控制
17406 学习 · 57 问题
相似问题