如何使用jQuery操作Cookies方法解析
Cookies
定義:讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)儲存到客戶端的硬盤或內(nèi)存,從客戶端的硬盤讀取數(shù)據(jù)的一種技術(shù);
下載與引入:jquery.cookie.js基于jquery;先引入jquery,再引入:jquery.cookie.js;下載:http://plugins.jquery.com/cookie/
<script type="text/javascript" src="js/jquery.min.js">
</script><script type="text/javascript" src="js/jquery.cookie.js"></script>
jquery.cookie.js代碼的內(nèi)容并不多,可以直接拷貝一下
jQuery.cookie = function (key, value, options) {
// key and value given, set cookie...
if (arguments.length > 1 && (value === null || typeof value !== "object")) {
options = jQuery.extend({}, options);
if (value === null) {
options.expires = -1;
}
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
return (document.cookie = [
encodeURIComponent(key), '=',
options.raw ? String(value) : encodeURIComponent(String(value)),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// key and possibly options given, get cookie...
options = value || {};
var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};
1.添加一個(gè)"會話cookie"
$.cookie('the_cookie', 'the_value');
這里沒有指明 cookie有效時(shí)間,所創(chuàng)建的cookie有效期默認(rèn)到用戶關(guān)閉瀏覽器為止,所以被稱為 “會話cookie(session cookie)”。
2.創(chuàng)建一個(gè)cookie并設(shè)置有效時(shí)間為 7天
$.cookie('the_cookie', 'the_value', { expires: 7 });
這里指明了cookie有效時(shí)間,所創(chuàng)建的cookie被稱為“持久 cookie (persistent cookie)”。注意單位是:天;
PS:這里好像是有問題啊,試了半天,發(fā)現(xiàn)jquery設(shè)置的cookie過期時(shí)間關(guān)閉瀏覽器就失效,https://www.cnblogs.com/acm-bingzi/p/jquery_cookie_expire.html
3.創(chuàng)建一個(gè)cookie并設(shè)置 cookie的有效路徑
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
在默認(rèn)情況下,只有設(shè)置 cookie的網(wǎng)頁才能讀取該 cookie。如果想讓一個(gè)頁面讀取另一個(gè)頁面設(shè)置的cookie,必須設(shè)置cookie的路徑。cookie的路徑用于設(shè)置能夠讀取 cookie的頂級目錄。將這個(gè)路徑設(shè)置為網(wǎng)站的根目錄,可以讓所有網(wǎng)頁都能互相讀取 cookie (一般不要這樣設(shè)置,防止出現(xiàn)沖突)。
4.讀取cookie
$.cookie('the_cookie');
5.刪除cookie
$.cookie('the_cookie', null); //通過傳遞null作為cookie的值即可
6.可選參數(shù)
$.cookie('the_cookie','the_value',{
expires:7,
path:'/',
domain:'jquery.com',
secure:true
})
- expires:(Number|Date)有效期;設(shè)置一個(gè)整數(shù)時(shí),單位是天;也可以設(shè)置一個(gè)日期對象作為Cookie的過期日期;
- path:(String)創(chuàng)建該Cookie的頁面路徑;
- domain:(String)創(chuàng)建該Cookie的頁面域名;
- secure:(Booblean)如果設(shè)為true,那么此Cookie的傳輸會要求一個(gè)安全協(xié)議,例如:HTTPS;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery中使用Ajax獲取JSON格式數(shù)據(jù)示例代碼
有時(shí)候我們需要讀取JSON格式的數(shù)據(jù)文件,在jQuery中可以使用Ajax或者 $.getJSON()方法實(shí)現(xiàn),下面有個(gè)不錯(cuò)的示例,需要的朋友可以參考下2013-11-11
jQuery get和post 方法傳值注意事項(xiàng)
用 jQuery 的都知道,jQuery 的 get 和 post 方法有三個(gè)參數(shù):地址,數(shù)據(jù) 和 回調(diào)函數(shù),但我們知道地址也可以跟隨數(shù)據(jù)的(形如:get_data.php?v1=1&v2=2),而且第二個(gè)參數(shù)可以省略,即第二個(gè)參數(shù)可以直接寫回調(diào)函數(shù),那么數(shù)據(jù)寫在地址后面和寫在 data 參數(shù)里有什么區(qū)別呢?2009-11-11
jQuery?在圖片和文字中插入內(nèi)容實(shí)例
jQuery是一種流行的JavaScript庫,可以輕松地在網(wǎng)頁中插入圖片和文字。通過使用jQuery的插入功能,您可以在網(wǎng)頁上動(dòng)態(tài)地添加內(nèi)容,從而提高用戶體驗(yàn)。本文將介紹如何使用jQuery在圖片和文字中插入內(nèi)容,并提供一些實(shí)用的代碼示例。2023-06-06
jQuery 實(shí)現(xiàn)批量提交表格多行數(shù)據(jù)的方法
今天小編就為大家分享一篇jQuery 實(shí)現(xiàn)批量提交表格多行數(shù)據(jù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
jquery判斷復(fù)選框選中狀態(tài)以及區(qū)分attr和prop
這篇文章主要介紹了jquery判斷復(fù)選框選中狀態(tài)以及區(qū)分attr和prop,感興趣的小伙伴們可以參考一下2015-12-12

