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值 ;javascript


cookie()的使用

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

<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有效時間 })jquery

  2. $.cookie(time); 讀取保存在cookie中名爲的time的值。瀏覽器

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

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

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

  • expires:有限日期,值能夠是一個數字(從建立cookie時算起,以天爲單位)或一個Date 對 象,若是沒有設置時間,瀏覽器關閉以後此cookie就失效了。編碼

相關文章
相關標籤/搜索