html學習,html
Cookies
Cookie,有時也用其複數形式Cookies,指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密)。
Cookies設定
我也是才學不久的Cookies。所以先寫些簡單的。
Cookies設定比較簡單,通常情況下,每個網域名稱都有自己單獨的Cookies,用來儲存一些簡單資料和使用者的登入狀態等。
Cookies是本地儲存的,所以可以在本地清除,在伺服器上用來儲存這些資料的功能是SESSION。
下面是設定的方法:假如我們需要設定text和second的值。假如擷取text的值如下:(jquery的方法)
var text = $('#testinput').val(); // 此行是為了擷取text值,可以用自己的方法
document.cookie = "text=" + escape(text);
document.cookie = "second=2";
上面這兩行是設定cookie的值的方法,首先在cookie中,像上面那樣賦值兩邊,名字不同,等同於如下代碼:
document.cookie = "text="+escape(text)+"; second=2";
賦值兩次,假如屬性名稱字不同是不會覆蓋的,這裡使用的escape()函數的功能是用來轉義的,因為cookie中名字一般不允許 / = "這些符號當名字和值的,但是假如有這些符號或者空格怎麼辦? 就需要escape()來進行轉義,所以空格就會轉義成%20這種符號,text1 text2就會變成text1%20text2這樣子。
擷取cookie值
擷取cookie和設定一樣比較方便。代碼如下:
var strCookie = document.cookie;//擷取當前網域名稱所有cookie值var arrCookie = strCookie.split("; ");//用split把字串分割,記得分號後有個空格for (var i = 0; i < arrCookie.length; i++) {var arr = arrCookie[i].split("=");//把分割後的數組內容再用=分割。if (arr[0] == "text") {//假如分割後的前半部分和我們需要的屬性名稱字一樣alert(arr[1]);//我們得到的後半部分就是這個屬性的值}}
這樣子就可以很簡單的擷取到cookie的值了。
但其實設定cookie的時候,還需要設定一個cookie的到期時間,這個後面更新。