简述在javascript和jquery中cookie的使用

时间:2023-03-10 07:53:16
简述在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);

最后附上一些参考资料:

  1. http://www.quirksmode.org/js/...

  2. http://www.tutorialspoint.com...

  3. http://www.allaboutcookies.or...

  4. http://bubkoo.com/2014/04/21/...

  5. cookie操作库,https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie

相关文章