一個輕量級的cookie插件,可以讀取、寫入、刪除cookie。
jquery.cookie.js的配置
首先包含jQuery的庫文件,在後面包含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('the_cookie', 'the_value');
注:當沒有指明cookie有效時間時,所創建的cookie有效期默認到用戶關閉浏覽器為止,所以被稱為“會話cookie(session cookie)”
創建一個cookie並設置有效時間為7天:
$.cookie('the_cookie', 'the_value', { expires: 7 });
注:當指明了cookie有效時間時,所創建的cookie被稱為“持久cookie(persistent cookie)”。
創建一個cookie並設置cookie的有效路徑:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
注:在默認情況下,只有設置cookie的網頁才能讀取該cookie。如果想讓一個頁面讀取另一個頁面設置的cookie,必須設置cookie的路徑。
cookie的路徑用於設置能夠讀取cookie的頂級目錄。將這個路徑設置為網站的根目錄,可以讓所有網頁都能互相讀取cookie(一般不要這樣設置,防止出現沖突)
讀取cookie:
$.cookie('the_cookie');
// cookie存在 => 'the_value' $.cookie('not_existing'); // cookie不存在 => null
刪除cookie,通過傳遞null作為cookie的值即可:
$.cookie('the_cookie', null);
相關參數的解釋
expires: 365
定義cookie的有效時間,值可以是一個(從創建cookie時算起,以天為單位)或一個Date。
如果省略,那麼創建的cookie是會話cookie,將在用戶退出浏覽器時被刪除。
path: '/'
默認情況:只有設置cookie的網頁才能讀取該cookie。
定義cookie的有效路徑。默認情況下,該參數的值為創建cookie的網頁所在路徑(標准浏覽器的行為)。
如果你想在整個網站中訪問這個cookie需要這樣設置有效路徑:path: '/'。
如果你想刪除一個定義了有效路徑的cookie,你需要在調用函數時包含這個路徑:$.cookie('the_cookie', null, { path: '/' });。
domain: 'example.com'
默認值:創建cookie的網頁所擁有的域名。
secure: true
默認值:false。如果為true,cookie的傳輸需要使用安全協議(HTTPS)。
raw: true
默認值:false。 默認情況下,讀取和寫入cookie的時候自動進行編碼和解碼(使用encodeURIComponent編碼,decodeURIComponent解碼)。
要關閉這個功能設置raw: true即可。
$.cookie('the_cookie'); // get cookie $.cookie('the_cookie', 'the_value'); // set cookie $.cookie('the_cookie', 'the_value', { expires: 7 }); // set cookie with an expiration date seven days in the future $.cookie('the_cookie', '', { expires: -1 }); // delete cookie
$.cookie('the_cookie', null); // delete cookie
$.cookie('the_cookie','the_value', {expires: 7, path: '/', domain:'80tvb.com', secure: true});//完整調用方式
//或者這樣:$.cookie('the_cookie','the_value');
//刪除Cookie: $.cookie('the_cookie',null);
jQuery操作cookie的插件,大概的使用方法如下
$.cookie('the_cookie'); //讀取Cookie值
$.cookie('the_cookie', ‘the_value'); //設置cookie的值
$.cookie('the_cookie', ‘the_value', {expires: 7, path: ‘/', domain: ‘jquery.com', secure: true});//新建一個cookie 包括有效期 路徑域名等
$.cookie('the_cookie', ‘the_value'); //新建cookie
$.cookie('the_cookie', null); //刪除一個cookie
jquery設置cookie過期時間與檢查cookies是否可用
讓cookies在x分鐘後過期
var date = new date();
date.settime(date.gettime() + (x * 60 * 1000));
$.cookie(‘example', ‘foo', { expires: date });
$.cookie(‘example', ‘foo', { expires: 7});
檢查cookies是否可用
$(document).ready(function() {var dt = new date();dt.setseconds(dt.getseconds() + 60);document.cookie = “cookietest=1; expires=” + dt.togmtstring();var cookiesenabled = document.cookie.indexof(“cookietest=”) != -1;if(!cookiesenabled){//cookies不能用……..}});