JavaScript創建cookie

創建一個歡迎cookie。

通過w3s文檔的學習,終於把JavaScript的cookie歡迎頁面擴清楚了。在這裏與各位分享一下自己的cookie學習心得。 ,希望對大家有所幫助。對於什麼是cookie,cookie的各種官方解釋我就不在這裏解釋了啊!直接介紹我demo了。

wKiom1Yk4mnxxII1AAGruUoeldk291.jpg

首先  我們要在頁面加載的時候,直接調用歡迎頁面。所以可以用onLoad 方法,onLoad這個方法,可以在每此加載頁面的時候,最先調用。 onLoad主動調用JavaScript服本checkCookie()。

下面是checkCookier demo

                 function checkCookie(){ //cookname 是cookie的對象名,cookValue是值 expireTime有效期整數

  1.             var user=getCookie("username");

  2.             if (user!=null && user!="")

  3.             {

  4.                 alert('你好!'+user+' 希望你常來此網站看看喲!');

  5.             }

  6.             else{

  7.                var name=prompt("請輸入姓名:",""); //用此方法會把提示框中輸入的內容保存入變量name中。

  8.                 if (name!=null && name!="")//判斷name不爲空,有值的情況下

  9.                 {/*進入下面調用setCookie()方法  此方法需要3個參數(cookie名  cookie值 cookie的有效時間)

  10.                 其中cookie名必需爲字符串,因些必需用雙引號。

  11.                  */

  12.                     //username 是cookie的對象名,name是cookie的值 ,3是有效期整數

  13.                     setCookie("username",name,3);

  14.                 }

  15.             }

  16.         }






第2步 checkCookie()腳本的邏輯是:先從網頁getCookie() 中獲取cookie對象如果有,就拼接字符串顯示, 如果沒有就用setCookie()創建對象保存起來。使下次登錄的時候,可以從cookie中獲取這次儲存的cookie對象。cookie保存格式是:“ cookie名 = cookie值 ;cookie的有效時間 ”雙引號裏的內容都爲關鍵內容,包括裏面的(;)分號。從cookie中獲取cookie的和儲存cookie的cookie名必須一樣。 因此username名字這兩個位置是一樣的。其中保存cookie必須有3個參數cookie的對象名,cookValue是值 cookie的有效期整數用setCookie方法把3個參數傳入 下面是第一次進入的時候,第一次保存cookie如下圖:


  1.         function setCookie(cookname,cookValue,expireTime)//cookname 是cookie的對象名,cookValue是值 expireTime有效期整數

  2.         {

  3.             //獲取一個計算機最新時間

  4.             var expireMinute=new Date();

  5.             //把有效期整數通過setDate() 和.getMinutes方法得出最後過期時間

  6.             expireMinute.setDate(expireMinute.getMinutes()+expireTime);

  7.             //通過下面的格式拼接把cookie的對象名,cookValue的值 cookie的有效期進行存儲。

  8.             document.cookie=cookname+"="+cookValue+((expireMinute==null)?"":";expire"+expireMinute.toGMTString());

  9.         }




第3步cookie參數需要把有效時間計算爲cookie有效期格式時間。最後通過document.cookie方法保存。下次登錄的時候,直接用cookie名去獲取cookie內容。 如下圖:

             

            //cookie對象的存儲內容爲:       username=cookieValue;expire時間;

  1.         function getCookie(cookname) //能過cookie名找到對應cookie名的內容。

  2.         {

  3.             if (document.cookie.length>0)

  4.             {

  5.                 //通過.indexOf方法:找cookie名對應的cookie,

  6.                 var stratIndex=document.cookie.indexOf(cookname);

  7.                 if (cookname!=-1)

  8.                 {

  9.                     stratIndex=stratIndex+cookname.length+1;//把cookie名的位置計算出來

  10.                     var endIndex=document.cookie.indexOf(";",stratIndex);//把cookie值計算出來

  11.                     if (endIndex==-1)

  12.                     {

  13.                         endIndex=document.cookie.length;

  14.                     }

  15.                     return document.cookie.substring(stratIndex,endIndex);//把cookie的值返回給checkCookie();

  16.                 }

  17.             }

  18.             return "";

  19.         }


從方法需要判斷cookie 是否存在, 是否過期。 然後有字符串的方法,截取cookie的值 內容。並返回即可。下次登錄即有歡迎頁面內容。 
















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