jQuery cookie是个很好的方便操作cookie。首先新建一个js文件。代码如下:
1 jQuery.cookie = function(name, value, options) {
2 if (typeof value != 'undefined') {
3 options = options || {};
4 if (value === null) {
5 value = '';
6 options = $.extend({}, options);
7 options.expires = -1;
8 }
9 var expires = '';
10 if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
11 var date;
12 if (typeof options.expires == 'number') {
13 date = new Date();
14 date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
15 } else {
16 date = options.expires;
17 }
18 expires = '; expires=' + date.toUTCString();
19 }
20 var path = options.path ? '; path=' + (options.path) : '';
21 var domain = options.domain ? '; domain=' + (options.domain) : '';
22 var secure = options.secure ? '; secure' : '';
23 document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
24 } else {
25 var cookieValue = null;
26 if (document.cookie && document.cookie != '') {
27 var cookies = document.cookie.split(';');
28 for (var i = 0; i < cookies.length; i++) {
29 var cookie = jQuery.trim(cookies[i]);
30 if (cookie.substring(0, name.length + 1) == (name + '=')) {
31 cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
32 break;
33 }
34 }
35 }
36 return cookieValue;
37 }
38 };
jquery.cookie中的操作:
创建一个会话cookie:
$.cookie(‘cookieName’,'cookieValue’);
注:当没有指明cookie时间时,所创建的cookie有效期默认到用户浏览器关闭止,故被称为会话cookie。
创建一个持久cookie:
$.cookie(‘cookieName’,'cookieValue’,{expires:7});
注:当指明时间时,故称为持久cookie,并且有效时间为天。
创建一个持久并带有效路径的cookie:
$.cookie(‘cookieName’,'cookieValue’,{expires:7,path:’/'});
注:如果不设置有效路径,在默认情况下,只能在cookie设置当前页面读取该cookie,cookie的路径用于设置能够读取cookie的顶级目录。
创建一个持久并带有效路径和域名的cookie:
$.cookie(‘cookieName’,'cookieValue’,{expires:7,path:’/',domain: ‘chuhoo.com’,secure: false,raw:false});
注:domain:创建cookie所在网页所拥有的域名;secure:默认是false,如果为true,cookie的传输协议需为https;raw:默认为false,读取和写入时候自动进行编码和解码(使用encodeURIComponent编码,使用decodeURIComponent解码),关闭这个功能,请设置为true。
获取cookie:
$.cookie(‘cookieName’); //如果存在则返回cookieValue,否则返回null。
删除cookie:
$.cookie(‘cookieName’,null);
注:如果想删除一个带有效路径的cookie,如下:$.cookie(‘cookieName’,null,{path:’/'});