1. 程式人生 > >JavaScript cookie()的使用

JavaScript cookie()的使用

javascript的cookie使用

JavaScript cookie

/*設置cookie*/
function setCookie(c_name,c_value,expires){
    var date = new Date();
    date.setTime(date.getTime()+(expires*60*1000));
    document.cookie = c_name + "=" + c_value + ";
    expires=" + date.toGMTString();
}
/*上面這個函數中的參數存有 cookie 的名稱、值以及過期天數。首先將天數轉換為有效的日期,
然後,將 cookie 名稱、值及其過期日期存入 document.cookie 對象*/
function getCookie(c_name){
    var name = c_name +"=";    
    var Cookie = document.cookie.split(‘;‘);    
    for(var i=0; i<Cookie.length; i++){        
    var c = Cookie[i].trim(); //.trim() 函數用於去除字符串兩端的空白字符。
    var c = Cookie[i].replace(/(^\s*)|(\s*$)/g, "")//使用正則替換字符串兩端的空白字符。
    if (c.indexOf(name)==0) return c.substring(name.length,c.length);
    }    
    return "";
}
 //存cookie
 //setCookie(cookie名,cookie值,過期時間)
 setCookie("userman","123",5) //此處為5分鐘(date.getTime()+(expires*60*1000))
 //獲取cookie 
 var userman = getCookie("userman");
 $(class).val(userman)

cookie 的名或值中不能使用分號(;)、逗號(,)、等號(=)、空格,以及中文(會出現錯誤或亂碼問題)。 如果必須使用上述的特殊字符,則需要用escape()函數進行編碼(以16進制數的形式轉碼)存儲;如果想要讀取含特殊字符和中文的cookie值,在取出值後需要使用unescape()進行解碼才能得到原來的cookie值 ;


cookie()的使用

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

<script type="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript" src="jquery.cookie.js"></script> 
或者
<script type="text/javascript" src="zepto.js"></script> 
<script type="text/javascript" src="zepto.cookie.js"></script>

jquery.cookie.js的使用

 var time = "username"   //cookie的名稱
 var date = new Date();  //獲取當前時間
 date.setTime(date.getTime() + 300000); //系統當前時間+5分鐘    
 $("cookie").val($.fn.cookie(time));//將name = username的cookie值賦給id=cookie的標簽
 var detailTime = $("input").text();//獲取input的值
 var admin = $("#takerTime").val(detailTime) //獲取到的之賦給id=takerTime的input
 $.cookie(time,admin,{path:"/", expires:date})

zepto.cookie.js的使用

 var time = "username"   //cookie的名稱
 var date = new Date();  //獲取系統時間
 date.setTime(date.getTime() + 300000); //系統當前時間+5分鐘    
 $("cookie").val($.fn.cookie(time));//將name = username的cookie值賦給id=cookie的標簽
 var detailTime = $("input").text();//獲取input的值
 var admin = $("#takerTime").val(detailTime) //獲取到的之賦給id=takerTime的input
 $.fn.cookie(time,admin,{path:"/",expires:date})

參數說明

  1. 語法:$.cookie(cookie名,cookie值 , {路徑,cookie有效時間 })

  2. $.cookie(time); 讀取保存在cookie中名為的time的值。

  3. $.cookie(time,admin); 將值admin寫入cookie名為time的cookie中。

  4. {path:”/”,expires:date} date=〉cookie保存的時間;date時間為5分鐘; 設置小時用setHours()和getHours方法 :date.setHours(date.getHours() + 1);或者用毫秒的乘法

  • path: cookie值保存的路徑,默認只有設置cookie的網頁才能讀取該cookie;path:”/”:表示根目錄。

  • expires:有限日期,值可以是一個數字(從創建cookie時算起,以天為單位)或一個Date 對 象,如果沒有設置時間,瀏覽器關閉之後此cookie就失效了。

JavaScript cookie()的使用