🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 前言 通过以下源码,你将得到设置,获取,清除cookie的三个基本方法, ~~~ /* * 对cookie 的理解 ,他是一个浏览器对象,而非js的对象,可以跨页面读取。通过cookie可以设置保存用户的账户信息等,同时cookie 也是针对域名区分的,保存于用户对应的数据文件中,所以清除缓存之后会丢失。 同时设置cookie之后,不用向服务器多次请求用户信息,直接使用保存的用户基本信息以及sessionid即可。 * */ /* 设置cookie 的键值对,参数说明 : name 名称 str ; value 值 str ; expireDays 过期的时间 以当前时间为准 ,单位为天 number;path 目录 * */ function setCookie(name, value) { var exp = new Date(); var expireDays = 0.5; //默認保存30天 exp.setTime(exp.getTime() + expireDays * 24 * 3600 * 1000); //为保证安全 需要将所有的值编码 var value = escape(value); var path = "/"; //默認保存到域名地址 if(path != null) { document.cookie = name + '=' + value + ";expires=" + exp.toGMTString() + ";path=" + path; } else { document.cookie = name + '=' + value + ";expires=" + exp.toGMTString(); }; }; /* 删除cookie 的键值对,参数说明 : name 名称 str 设置过期时间为过去的时间即可 * */ function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 100); var value = getCookie(name); if(value != null) document.cookie = name + "=" + value + ";expires=" + exp.toGMTString() + ";path=/"; }; /* 获取cookie 的键值对,参数说明 : name 名称 str * */ function getCookie(name) { var strCookie = document.cookie; var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if(arr = strCookie.match(reg)) return unescape(arr[2]); else return ""; }; ~~~