cookie學習筆記

http://www.jb51.net/article/14566.htm  javascript

  1. cookie機制將信息存儲於用戶硬盤,所以能夠做爲全局變量java

  2. 用途:(1)保存用戶登陸狀態。例如將用戶id存儲於一個cookie內,這樣當用戶下次訪問該頁面時就不須要從新登陸了,如今不少論壇和社區都提供這樣的功能。 cookie還能夠設置過時時間,當超過期間期限後,cookie就會自動消失。所以,系統每每能夠提示用戶保持登陸狀態的時間:常見選項有一個月、三個 月、一年等。 

    (2)跟蹤用戶行爲。例如一個天氣預報網站,可以根據用戶選擇的地區顯示當地的天氣狀況。若是每次都須要選擇所在地是煩瑣的,當利用了 cookie後就會顯得很人性化了,系統可以記住上一次訪問的地區,當下次再打開該頁面時,它就會自動顯示上次用戶所在地區的天氣狀況。由於一切都是在後 臺完成,因此這樣的頁面就像爲某個用戶所定製的同樣,使用起來很是方便。 

    (3)定製頁面。若是網站提供了換膚或更換佈局的功能,那麼可使用cookie來記錄用戶的選項,例如:背景色、分辨率等。當用戶下次訪問時,仍然能夠保存上一次訪問的界面風格。 

    (4)建立購物車。正如在前面的例子中使用cookie來記錄用戶須要購買的商品同樣,在結帳的時候能夠統一提交。例如淘寶網就使用cookie記錄了用戶曾經瀏覽過的商品,方便隨時進行比較。 數組

  3. 缺點(1)cookie可能被禁用。當用戶很是注重我的隱私保護時,他極可能禁用瀏覽器的cookie功能; 
    (2)cookie是與瀏覽器相關的。這意味着即便訪問的是同一個頁面,不一樣瀏覽器之間所保存的cookie也是不能互相訪問的; 
    (3)cookie可能被刪除。由於每一個cookie都是硬盤上的一個文件,所以頗有可能被用戶刪除; 
    (4)cookie安全性不夠高。全部的cookie都是以純文本的形式記錄於文件中,所以若是要保存用戶名密碼等信息時,最好事先通過加密處理。 瀏覽器

  4. 在cookie 的名或值中不能使用分號(;)、逗號(,)、等號(=)以及空格。在cookie的名中作到這點很容易,但要保存的值是不肯定的。如何來存儲這些值呢?方 法是用escape()函數進行編碼安全

    然然後面的做者並無用這種方法,不知道這是用來幹嗎的cookie

  5. <script language="JavaScript" type="text/javascript"> 
    <!-- 
    document.cookie="userId=828"; 
    document.cookie="userName=hulk"; 
    var strCookie=document.cookie; 
    alert(strCookie); 
    //--> 
    </script>          //設置和返回cookie
    函數

  6. //返回單個cookie 但研究了一下這個數組少寫了一種結果,split的效果是將字符串分割爲數組佈局

  7. <script language="JavaScript" type="text/javascript"> 
    <!-- 
    //設置兩個cookie 
    document.cookie="userId=828"; 
    document.cookie="userName=hulk"; 
    //獲取cookie字符串 
    var strCookie=document.cookie; 
    //將多cookie切割爲多個名/值對 
    var arrCookie=strCookie.split("; "); 
    var userId; 
    //遍歷cookie數組,處理每一個cookie對 
    for(var i=0;i<arrCookie.length;i++){ 
    var arr=arrCookie[i].split("="); 
    //找到名稱爲userId的cookie,並返回它的值 
    if("userId"==arr[0]){ 
    userId=arr[1]; 
    break; 


    alert(userId); 
    //--> 
    </script> 

    給cookie設置終止日期 
    到如今爲止,全部的cookie都是單會話cookie,即瀏覽器關閉後這些cookie將會丟失,事實上這些cookie僅僅是存儲在內存中,而沒有創建相應的硬盤文件。 

    在實際開發中,cookie經常須要長期保存,例如保存用戶登陸的狀態。這能夠用下面的選項來實現: 

    document.cookie="userId=828; expiress=GMT_String"; 
    其中GMT_String是以GMT格式表示的時間字符串,這條語句就是將userId這個cookie設置爲GMT_String表示的過時時間,超過這個時間,cookie將消失,不可訪問。例如:若是要將cookie設置爲10天后過時,能夠這樣實現: 

複製代碼代碼以下:網站


<script language="JavaScript" type="text/javascript"> 
<!-- 
//獲取當前時間 
var date=new Date(); 
var expiresDays=10; 
//將date設置爲10天之後的時間 
date.setTime(date.getTime()+expiresDays*24*3600*1000); 
//將userId和userName兩個cookie設置爲10天后過時 
document.cookie="userId=828; userName=hulk; expires="+date.toGMTString(); 
//--> 
</script> 編碼

    刪除cookie  
    爲了刪除一個cookie,能夠將其過時時間設定爲一個過去的時間,例如: 

複製代碼代碼以下:

<script language="JavaScript" type="text/javascript"> <!-- //獲取當前時間 var date=new Date(); //將date設置爲過去的時間 date.setTime(date.getTime()-10000); //將userId這個cookie刪除 document.cookie="userId=828; expires="+date.toGMTString(); //--> </script> 

相關文章
相關標籤/搜索