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:’/'});