一、jquery.cookie.js介紹
jquery.cookie.js是一個(gè)基于jquery的插件,一個(gè)輕量級(jí)的cookie 插件,可以讀取、寫入、刪除 cookie。
jquery.cookie.js可以從Github上面獲得源碼 https://github.com/carhartl/jquery-cookie
二、jquery.cookie.js的基本用法介紹
jQuery操作cookie的插件,大概的使用方法如下:
1. 讀取Cookie值
$.cookie('the_cookie'); //如果存在則返回cookieValue,否則返回null。
2. 設(shè)置cookie的值
(1) 默認(rèn)設(shè)置。當(dāng)沒有指明cookie時(shí)間時(shí),所創(chuàng)建的cookie有效期默認(rèn)到用戶瀏覽器關(guān)閉止,故被稱為會(huì)話cookie。
$.cookie('the_cookie', ‘the_value');
(2) 設(shè)置有時(shí)間的cookie。 當(dāng)指明時(shí)間時(shí),故稱為持久cookie,并且有效時(shí)間為天。
$.cookie(‘cookieName','cookieValue', {expires:7});
(3) 設(shè)置有路徑的cookie 。如果不設(shè)置有效路徑,在默認(rèn)情況下,只能在cookie設(shè)置當(dāng)前頁面讀取該cookie,cookie的路徑用于設(shè)置能夠讀取cookie的頂級(jí)目錄。
$.cookie(‘cookieName','cookieValue', {expires:7, path:'/'});
(4)設(shè)置特定網(wǎng)站的cookie 。
$.cookie(‘cookieName','cookieValue',{expires:7, path:'/' , domain: ‘souvc.com' , secure: false , raw:false});
參數(shù)解釋:
1).expires: 365
定義cookie的有效時(shí)間,值可以是一個(gè)數(shù)字(從創(chuàng)建cookie時(shí)算起,以天為單位)或一個(gè)Date 對(duì)象。如果省略,那么創(chuàng)建的cookie是會(huì)話cookie,將在用戶退出瀏覽器時(shí)被刪除。
//注:在默認(rèn)情況下,只有設(shè)置 cookie的網(wǎng)頁才能讀取該 cookie。如果想讓一個(gè)頁面讀取另一個(gè)頁面設(shè)置的cookie,必須設(shè)置cookie的路徑。cookie的路徑用于設(shè)置能夠讀取 cookie的頂級(jí)目錄。將這個(gè)路徑設(shè)置為網(wǎng)站的根目錄,可以讓所有網(wǎng)頁都能互相讀取 cookie (一般不要這樣設(shè)置,防止出現(xiàn)沖突) 。
expires: (Number | Date) 有效期,可以設(shè)置一個(gè)整數(shù)作為有效期(單位:天),也可以設(shè)置一個(gè)日期對(duì)象作為Cookie的過期日期。如果指定日期為負(fù)數(shù),那么此cookie將被刪除;如果不設(shè)置或者設(shè)置為null,那么此cookie將被當(dāng)作Session Cookie處理,并且在瀏覽器關(guān)閉后刪除。
var COOKIE_NAME = 'username'; if( $.cookie(COOKIE_NAME) ){ $("#username").val( $.cookie(COOKIE_NAME) ); } $("#check").click(function(){ if(this.checked){ $.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 }); //var date = new Date(); //date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000)); //三天后的這個(gè)時(shí)候過期 //$.cookie(COOKIE_NAME, $("#username").val(), { path: '/', expires: date }); }else{ $.cookie(COOKIE_NAME, null, { path: '/' }); //刪除cookie } });
2).path: '/'
默認(rèn)情況:只有設(shè)置cookie的網(wǎng)頁才能讀取該cookie。 定義cookie的有效路徑。默認(rèn)情況下, 該參數(shù)的值為創(chuàng)建 cookie 的網(wǎng)頁所在路徑(標(biāo)準(zhǔn)瀏覽器的行為) 。 如果你想在整個(gè)網(wǎng)站中訪問這個(gè)cookie需要這樣設(shè)置有效路徑:path: '/'。
如果你想刪除一個(gè)定義了有效路徑的 cookie,你需要在調(diào)用函數(shù)時(shí)包含這個(gè)路徑:$.cookie('the_cookie', null, { path: '/' });。 domain: 'example.com' 默認(rèn)值:創(chuàng)建 cookie的網(wǎng)頁所擁有的域名。
3). domain:創(chuàng)建cookie所在網(wǎng)頁所擁有的域名;
4). secure:默認(rèn)是false,如果為true,cookie的傳輸協(xié)議需為https;raw:默認(rèn)為false,讀取和寫入時(shí)候自動(dòng)進(jìn)行編碼和解碼(使用encodeURIComponent編碼,使用decodeURIComponent解碼),關(guān)閉這個(gè)功能,請(qǐng)?jiān)O(shè)置為true。
3. 刪除cookie 。
$.cookie('the_cookie', null); //刪除一個(gè)cookie
$.cookie(‘cookieName',null,{path:'/'}); //注:如果想刪除一個(gè)帶有效路徑的cookie
三、使用方法
首先包含jQuery的庫文件,在后面包含 jquery.cookie.js 的庫文件。
<script type="text/javascript" src="http://www.gimoo.net/t/1903/js/jquery-1.6.2.min.js"></script> <script type="text/javascript" src="http://www.gimoo.net/t/1903/js/jquery.cookie.js"></script>
四、簡(jiǎn)要說明。
1. 頁面效果
2. jsp頁面:
<input type="text" class="lr-input" placeholder="手機(jī)號(hào)碼/用戶名" style="width:255px" id="username" name="username" value=""/> <input type="password" class="lr-input" placeholder="請(qǐng)輸入登錄密碼" style="width:255px" id="password" name="password" /> <div class="lr-formWrap fn-clear"> <p class="lr-remUser fn-left" id="remUserSelect"><i class="icon-check"></i>記住用戶</p> <a href="javascript:void(0)" id="login-submit" class="lr-submit">登錄</a>
3. css樣式:
.lr-remUser { color: #9d9d9d; cursor: pointer; font-size: 14px; line-height: 25px; padding-left: 30px; }
4. js實(shí)現(xiàn)
//按照狀態(tài)讀取是否顯示昵稱 if ($.cookie("rmbUser") == "true") { $("#remUserSelect").addClass("active");//如果是選中,那么給上選中的標(biāo)志 $("#username").val($.cookie("nickName"));//記錄賬號(hào) } //驗(yàn)證記住帳號(hào) function vailRememberNickName(){ if($("#remUserSelect").hasClass("active")){ var nickName = $("#username").val(); $.cookie("rmbUser", "true", { expires: 7 }); // 存儲(chǔ)一個(gè)帶7天期限的 cookie $.cookie("nickName", nickName, { expires: 7 }); // 存儲(chǔ)一個(gè)帶7天期限的 cookie }else { $.cookie("rmbUser", "false", { expires: -1 }); $.cookie("nickName", '', { expires: -1 }); } }
5. 然后在點(diǎn)擊登錄的時(shí)候進(jìn)行調(diào)用這個(gè)方法。
//登錄提交表單 $("#login-submit").on("click",function(){ var form = $("#loginForm"); if(!vailPhone())return; if(!vailPwd())return; vailRememberNickName(); form.submit(); });
6. 登錄查看瀏覽器控制臺(tái)效果如下:
7. 退出登錄的時(shí)候可以看到登錄框的效果:
以上內(nèi)容是小編給大家介紹的Jquery操作cookie記住用戶名的相關(guān)說明,希望對(duì)大家有所幫助!