jquery.cookie組件小總

今天分享的是 jquery.cookie:這是一個輕量級的cookie插件,可以從瀏覽器上創建,讀取,寫入,刪除cookie;當然cookie雖然是保存在瀏覽器上,但是一定要上傳到服務器才能看到結果;

下載地址:http://www.jq22.com/   進入後搜索jquery.cookie就行;

無論是B/S還是C/S,實際開發中,我覺得用到cookie最多的地方就是登錄頁記住密碼

下面我介紹一下這個插件的幾個屬性:

step 1:創建cookie

$.cookie('the_cookie', 'the_value');有兩個參數,一個是你創建的cookie的名稱,第二個是你要往cookie裏面存的值;當然,上面這種寫法創建的cookie的生命週期是瀏覽器關閉爲止;


$.cookie('the_cookie', 'the_value', { expires: 7 }); 第三個參數是你創建cookie的生命週期,單位爲天


$.cookie('the_cookie''the_value', { expires: 7, path: '/' });

注:在默認情況下,只有設置 cookie的網頁才能讀取該 cookie。如果想讓一個頁面讀取另一個頁面設 

置的cookie,必須設置cookie的路徑。cookie的路徑用於設置能夠讀取 cookie的頂級目錄。將這 

個路徑設置爲網站的根目錄,可以讓所有網頁都能互相讀取 cookie (一般不要這樣設置,防止出現衝突) 。 

4.讀取cookie: 


step 2:讀取cookie

如果你想讀取cookie,你則是根據你設置的cookie的名稱來讀取

$.cookie("the_cookie");

step 3:刪除cookie

刪除cookie其實就是變相的創建cookie的一個過程,上面我們創建cookie時直接保存了對應要保存的值,那麼刪除cookie其實就是保存時賦值爲空;

$.cookie("the_cookie",null)//官網上的這種寫法我不太支持,因爲我試過,當給cookie賦值爲努力時,下次登錄的時候,瀏覽器會直接把null拿出來放到對應的位置,並不算是徹底的刪除了cookie;所以我推薦的寫法是:

$.cookie("the_cookie","");


==========================================================================================

下面是幾個不太常用的參數,大概做一介紹,實際開發中完全可以不用:

1).expires: 365 

定義cookie的有效時間,值可以是一個數字(從創建cookie時算起,以天爲單位)或一個Date 對 

象。如果省略,那麼創建的cookie是會話cookie,將在用戶退出瀏覽器時被刪除。 

2).path: '/' 

默認情況:只有設置cookie的網頁才能讀取該cookie。 

定義cookie的有效路徑。默認情況下, 該參數的值爲創建 cookie 的網頁所在路徑(標準瀏覽器的行爲) 。 

如果你想在整個網站中訪問這個cookie需要這樣設置有效路徑:path: '/'。如果你想刪除一個定義 

了有效路徑的 cookie,你需要在調用函數時包含這個路徑:$.cookie('the_cookie', null, 

{ path: '/' });。 domain: 'example.com' 

默認值:創建 cookie的網頁所擁有的域名。 

3).secure: true 

默認值:false。如果爲true,cookie的傳輸需要使用安全協議(HTTPS)。 

4).raw: true 

默認值:false。 

默認情況下,讀取和寫入 cookie 的時候自動進行編碼和解碼(使用encodeURIComponent 編碼, 

decodeURIComponent 解碼)。要關閉這個功能設置 raw: true 即可。


============================================================================================

下面我給大家把我開發過程中的一段代碼寫出來,可以供大家參考:

項目背景:springMVC+spring data jpa

開發模塊:登錄時記住密碼功能

step 1:導入相關包

<script src="res/skin/default/js/jquery-1.8.3.min.js"></script>

<script type="text/javascript" src="res/skin/default/js/jquery.cookie.js"></script>


step 2:jsp代碼

<input type="text" id="userName" name="userName" placeholder="請輸入賬號/電話號碼/別名"/>

<input type="passWord" id="passWord" name="passWord" placeholder="請輸入密碼"/>

<input id="rememberPassword" type="checkbox";">記住密碼


step 3:jquery代碼


<script>

//step 1:當鼠標點擊複選框時,創建一個持久化的cookie


var userName=null;


var passWord=null;


  //限制爲:鼠標點擊登錄時判斷:


  $("#submit").click(function(){
  //如果被選中狀態,則創建cookie


if($("#rememberPassword").attr("checked")){
//創建cookie,並將用戶名和密碼保存進去


$.cookie('userName',$('#userName').val(), { expires: 7});


$.cookie('passWord',$('#passWord').val(), { expires: 7});
}else{


//如果複選框沒有被選中,則刪除cookie

$.cookie('userName', ""); 


$.cookie('passWord', ""); 


}


     });
 

//頁面每次被加載的時候,都把cookie中的值取出來,然後存放到對應的文本框中
 $(function(){


 
  var userName=$.cookie('userName');


var passWord=$.cookie('passWord');

$("#userName").val(userName);


$("#passWord").val(passWord);


  if(userName!=null&&userName!=""&&passWord!=null&&passWord!=""){



$("#rememberPassword").attr("checked",true);



}

}); 


</script>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章