jquery.cookie 使用文檔,$.cookie() 文檔教程, js 操作 cookie 教程文檔。
jquery.cookie中的操作:
jquery.cookie.js是一個基於jquery的插件,https://github.com/carhartl/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:’/'});
注:如果想讓cookie在主域名下的所有二級域名共用,需要設置domain為 '.youdomain.com',如下:$.cookie(‘cookieName’,null,{path:’/', domain:'.youdomain.com'});
關於cookie中 domain為:[ youdomain.com ] 和[ .youdomain.com ] 的區別可以參考:
http://stackoverflow.com/questions/2669690/why-does-google-prepend-while1-to-their-json-responses/2669766#2669766
http://stackoverflow.com/questions/1458724/how-to-set-unset-cookie-with-jquery/1458728#1458728
操作cookie的代碼,基於 $.cookie 封裝的。
common.setCookie = function(cookieName, cookieValue, expiresNum) { var options = { 'path': '/', 'domain': common.globals.domain, 'secure': false,//關閉https傳輸cookie 'raw': true,//關閉cookie的自動編碼功能 'expires': expiresNum || 30 //cookie的過期時間,如沒有傳值默認30天過期 }; $.cookie(cookieName, cookieValue, options); } common.getCookie = function(cookieName) { return $.cookie(cookieName); } common.getToken = function() { return $.cookie('token'); } common.delCookie = function(cookieName) { $.cookie(cookieName, '', { 'path': '/', 'expires': -1 }); }