简述在javascript和jquery中cookie的使用
html
<body onload="cookieJar()"></body>
javascript
<script href="../static/style/jquery1.11.1.js"></script>
<script type="text/javascript">
const cookieJar = {
//写入
set (name, vulue, days) {
var Dates = new Date();//获取最新日期
Dates.setDate(Dates.getDate()+days);//当月的天设置为(返回当天的日期+将设置的参数即增加多少天)
document.cookie=name+'='+value+';expires='+Dates;
//设置cookie为name的值,过期日期为设置好的几天
//expires属性用于指定Cookie过期时间。它的格式采用Date.toUTCString()的格式。
//domain属性指定Cookie所在的域名,比如example.com或.example.com(这种写法将对所有子域名生效)、subdomain.example.com。如果未指定,默认为设定该Cookie的域名。
//path属性用来指定路径,必须是绝对路径(比如/、/mydir),如果未指定,默认为请求该Cookie的网页路径。只有path属性匹配向服务器发送的路径,Cookie才会发送。
//domain是域名,path是路径
//secure属性用来指定Cookie只能在加密协议HTTPS下发送到服务器。该属性只是一个开关,不需要指定值。如果通信是HTTPS协议,该开关自动打开
//document.cookie=name+'='+value+';expires='+Dates+'domain='+''+'path='+'/path'+';secure';
},
//读取
get(name){
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);//解码
else
return null;
},
//删除
remove(name){
cookieJar.set(name,1,-1)
}
}
</script>
jquery.cookie.js插件:
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></script> 新增cookie: $.cookie('cookieName', 'cookieValue'); 注:如果没有设置cookie的有效期,则cookie默认在浏览器关闭前都有效,故被称为"会话cookie"。 // 创建一个cookie并设置有效时间为7天: $.cookie('cookieName', 'cookieValue', { expires: 7 }); // 创建一个cookie并设置cookie的有效路径: $.cookie('cookieName', 'cookieValue', { expires: 7, path: '/' }); 读取cookie: $.cookie('cookieName'); // 若cookie存在则返回'cookieValue';若cookie不存在则返回null 删除cookie:把ncookie的值设为null即可 $.cookie('the_cookie', null);
最后附上一些参考资料: