创建cookie
//创建cookie
// function createCookie(key,value,json){
// //初始化参数
// //如果第三个参数没有传,就是undefined,然后下面用json.[]时候就是undefined.[],这样就会报错。所以必须要初始化第三个参数,有参数就为传过来的参数,没有就为空对象
// json = json || {};
// let cookis_str = encodeURIComponent(key) + '=' + encodeURIComponent(value);
// //有效期
// //判断传过来的参数是否为数字
// //当传正数的时候,就为有效期;当传负数的时候,表示过去的时间,相当于这条cookie已经过期了,过期了就会从cookie中删除
// if(!isNaN(json.expires)){
// let date = new Date();
// date.setDate(date.getDate() + json.expires);
// cookis_str + ';expires=' + date;
// }
// //path
// if(json.path){
// cookis_str += ';path=' + json.path;
// }
// //domain
// if(json.domain){
// cookis_str += ';domain=' + json.domain;
// }
// //secure
// if(json.secure){
// cookis_str += ';secure';
// }
// // 放到cookie里面
// document.cookie = cookis_str;
// }
//测试
// createCookie('name','tom',{expires : 3,path : '/'});
// createCookie('name','张三',{expires:7,path:'/'});
// createCookie('url','lihua.126.com');
// createCookie('email','lihua@126.com',{expires:3});
获取cookie
方法一:
//传入key,拿到value
//'name=tom; url=lihua.126.com; email=lihua@126.com'
// function getCookie(key){
// //查找的子串 因为截取的时候要从等号后面开始截取
// let cookie_key = encodeURIComponent(key) + '=';
// //cookie父串
// let cookie_str = document.cookie;
// //查找开始的位置
// let start = cookie_str.indexOf(cookie_key) ;
// //如果找到了开始的位置,则找结束位置
// if(start !== -1){
// let end = cookie_str.indexOf(';',start);
// //如果是结束位置,没有分号
// if(end === -1){
// end = cookie_str.length;
// }
// //截取出查找的结果
// return decodeURIComponent(cookie_str.substring(start + cookie_key.length,end));
// }
// }
//测试
// alert(getCookie('name'));
方法二:
function getCookie(key){
let cookie_str = document.cookie;
let cookie_arr = cookie_str.split('; ');
for(let i = 0,len = cookie_arr.length;i < len;i ++){
let cookie_list = cookie_arr[i].split('=');
if(encodeURIComponent(key) === cookie_list[0]){
return decodeURIComponent(cookie_list[1]);
}
}
}
alert(getCookie('url'));
移除cookie
//思路,当cookie过期了,就从cookie删除了
//new Date();当里面只有一个参数时,创建的时间为1970年
function removeCookie(key,json){
//初始化参数
json = json || {};
if(json.path){
document.cookie = encodeURIComponent(key) + '=;expires=' + new Date(1) + ';path=' + json.path;
}else{
document.cookie = encodeURIComponent(key) + '=;expires=' + new Date(1);
}
}
removeCookie('name',{path:'/'});
//使用创建的函数,时间参数传的为负数来删除
createCookie('url','',{expires:-1});