Jquery操做cookie,實現簡單的記住用戶名的操做

 1、jquery.cookie.js介紹 javascript

 

jquery.cookie.js是一個基於jquery的插件,一個輕量級的cookie 插件,能夠讀取、寫入、刪除 cookie。css

jquery.cookie.js能夠從Github上面得到源碼   https://github.com/carhartl/jquery-cookiehtml

 

 2、jquery.cookie.js的基本用法介紹java

 

jquery.cookie.js 的配置jquery

首先包含 jQuery 的庫文件,在後麪包含 jquery.cookie.js 的庫文件。git

 

 

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>

 

jQuery操做cookie的插件,大概的使用方法以下:github

 

1. 讀取Cookie值瀏覽器

 

$.cookie('the_cookie');   //若是存在則返回cookieValue,不然返回null。

 

 

2. 設置cookie的值cookie

 

(1) 默認設置。當沒有指明cookie時間時,所建立的cookie有效期默認到用戶瀏覽器關閉止,故被稱爲會話cookie。dom

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

 

(2) 設置有時間的cookie。 當指明時間時,故稱爲持久cookie,而且有效時間爲天。如建立一個 cookie 並設置有效時間爲 7 天。

注:當指明瞭 cookie 有效時間時,所建立的 cookie 被稱爲「持久 cookie( persistent cookie) 」。

 

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

 

(3) 設置有路徑的cookie 。若是不設置有效路徑,在默認狀況下,只能在cookie設置當前頁面讀取該cookie,cookie的路徑用於設置可以讀取cookie的頂級目錄。

注:在默認狀況下,只有設置 cookie 的網頁才能讀取該 cookie。若是想讓一個頁面讀取另外一個頁面設置的 cookie,必須設置 cookie 的路徑。 cookie 的路徑用於設置可以讀取 cookie 的頂級目錄。將這個路徑設置爲網站的根目錄,可讓全部網頁都能互相讀取 cookie ( 通常不要這樣設置,防止出現衝突)。

 

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

 

讀取 cookie:

$.cookie('the_cookie'); // cookie 存在 => 'the_value'
$.cookie('not_existing'); // cookie 不存在 => null

 

 

(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

 

3、使用方法

首先包含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> 

 

4、簡要說明。

 

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. 退出登陸的時候能夠看到登陸框的效果:

 

 

 

 

 

JSP Cookies 處理能夠參考: http://www.runoob.com/jsp/jsp-cookies.html

Servlet Cookies處理能夠參考:http://www.yiibai.com/servlets/servlets_cookies_handling.html

相關文章
相關標籤/搜索