首頁 > web前端 > js教程 > Jquery操作cookie記住使用者名稱_jquery

Jquery操作cookie記住使用者名稱_jquery

WBOY
發布: 2016-05-16 15:07:48
原創
1902 人瀏覽過

一、jquery.cookie.js介紹

jquery.cookie.js是一個基於jquery的插件,一個輕量級的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. 設定cookie的值

(1) 預設設定。當沒有指明cookie時間時,所建立的cookie有效期預設到使用者瀏覽器關閉止,故稱為會話cookie。

$.cookie('the_cookie', ‘the_value');

(2) 設定有時間的cookie。 當指明時間時,故稱為持久cookie,且有效時間為天。

$.cookie(‘cookieName','cookieValue', {expires:7});

(3) 設定有路徑的cookie 。如果不設定有效路徑,在預設情況下,只能在cookie設定目前頁面讀取該cookie,cookie的路徑用於設定能夠讀取cookie的頂級目錄。

$.cookie(‘cookieName','cookieValue', {expires:7, path:'/'});

(4)設定特定網站的cookie 。

$.cookie(‘cookieName','cookieValue',{expires:7, path:'/' , domain: ‘souvc.com' , secure: false , raw:false});

參數解釋:

1).expires: 365

定義cookie的有效時間,數值可以是一個數字(從建立cookie時算起,以天為單位)或一個Date 物件。如果省略,那麼建立的cookie是會話cookie,將在使用者退出瀏覽器時刪除。

//註:在預設情況下,只有設定 cookie的網頁才能讀取該 cookie。如果想要讓一個頁面讀取另一個頁面設定的cookie,必須設定cookie的路徑。 cookie的路徑用於設定能夠讀取 cookie的頂級目錄。將這個路徑設定為網站的根目錄,可以讓所有網頁都能互相讀取 cookie (一般不要這樣設置,防止衝突) 。

expires: (Number | Date) 有效期,可以設定一個整數作為有效期(單位:天),也可以設定一個日期物件作為Cookie的過期日期。如果指定日期為負數,那麼此cookie將被刪除;如果不設定或設定為null,那麼此cookie將被當作Session Cookie處理,並且在瀏覽器關閉後刪除。

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)); //三天后的这个时候过期
//$.cookie(COOKIE_NAME, $("#username").val(), { path: '/', expires: date });
}else{
$.cookie(COOKIE_NAME, null, { path: '/' }); //删除cookie
}
});
登入後複製

2).path: '/'

預設:只有設定cookie的網頁才能讀取該cookie。 定義cookie的有效路徑。預設情況下, 此參數的值為建立 cookie 的網頁所在路徑(標準瀏覽器的行為) 。 如果你想在整個網站中存取這個cookie需要這樣設定有效路徑:path: '/'。

如果你想要刪除一個定義了有效路徑的 cookie,你需要在呼叫函數時包含這個路徑:$.cookie('the_cookie', null, { path: '/' });。 domain: 'example.com' 預設值:建立 cookie的網頁所擁有的網域名稱。

3). domain:建立cookie所在網頁所擁有的網域名稱;

4). secure:預設為false,如果為true,cookie的傳輸協議需為https;raw:預設為false,讀取和寫入時候自動進行編碼和解碼(使用encodeURIComponent編碼,使用decodeURIComponent解碼) ,關閉這個功能,請設定為true。

3. 刪除cookie 。

$.cookie('the_cookie', null); //刪除一個cookie

$.cookie(‘cookieName',null,{path:'/'}); //附註:若想要刪除一個有有效路徑的cookie

三、使用方法

首先包含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> 
登入後複製

四、簡要說明。

1. 頁面效果


2. jsp頁:

<input type="text" class="lr-input" placeholder="手机号码/用户名" style="width:255px" id="username" name="username" value=""/> <input type="password" class="lr-input" placeholder="请输入登录密码" 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實作

//按照状态读取是否显示昵称
if ($.cookie("rmbUser") == "true") {
$("#remUserSelect").addClass("active");//如果是选中,那么给上选中的标志
$("#username").val($.cookie("nickName"));//记录账号
} 
//验证记住帐号
function vailRememberNickName(){
if($("#remUserSelect").hasClass("active")){
var nickName = $("#username").val();
$.cookie("rmbUser", "true", { expires: 7 }); // 存储一个带7天期限的 cookie
$.cookie("nickName", nickName, { expires: 7 }); // 存储一个带7天期限的 cookie
}else {
$.cookie("rmbUser", "false", { expires: -1 });
$.cookie("nickName", '', { expires: -1 });
}
} 
登入後複製

5. 然後在點擊登入的時候進行呼叫這個方法。

//登录提交表单
$("#login-submit").on("click",function(){
var form = $("#loginForm");
if(!vailPhone())return;
if(!vailPwd())return;
vailRememberNickName();
form.submit();
}); 
登入後複製

6. 登入查看瀏覽器控制台效果如下:

7. 登出登入的時候可以看到登入框的效果:

以上內容是小編跟大家介紹的Jquery操作cookie記住使用者名稱的相關說明,希望對大家有幫助!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板