創建一個歡迎cookie。
通過w3s文檔的學習,終於把JavaScript的cookie歡迎頁面擴清楚了。在這裏與各位分享一下自己的cookie學習心得。 ,希望對大家有所幫助。對於什麼是cookie,cookie的各種官方解釋我就不在這裏解釋了啊!直接介紹我demo了。
首先 我們要在頁面加載的時候,直接調用歡迎頁面。所以可以用onLoad 方法,onLoad這個方法,可以在每此加載頁面的時候,最先調用。 onLoad主動調用JavaScript服本checkCookie()。
下面是checkCookier demo
function checkCookie(){ //cookname 是cookie的對象名,cookValue是值 expireTime有效期整數
var user=getCookie("username");
if (user!=null && user!="")
{
alert('你好!'+user+' 希望你常來此網站看看喲!');
}
else{
var name=prompt("請輸入姓名:",""); //用此方法會把提示框中輸入的內容保存入變量name中。
if (name!=null && name!="")//判斷name不爲空,有值的情況下
{/*進入下面調用setCookie()方法 此方法需要3個參數(cookie名 cookie值 cookie的有效時間)
其中cookie名必需爲字符串,因些必需用雙引號。
*/
//username 是cookie的對象名,name是cookie的值 ,3是有效期整數
setCookie("username",name,3);
}
}
}
第2步 checkCookie()腳本的邏輯是:先從網頁getCookie() 中獲取cookie對象如果有,就拼接字符串顯示, 如果沒有就用setCookie()創建對象保存起來。使下次登錄的時候,可以從cookie中獲取這次儲存的cookie對象。cookie保存格式是:“ cookie名 = cookie值 ;cookie的有效時間 ”雙引號裏的內容都爲關鍵內容,包括裏面的(;)分號。從cookie中獲取cookie的和儲存cookie的cookie名必須一樣。 因此username名字這兩個位置是一樣的。其中保存cookie必須有3個參數cookie的對象名,cookValue是值 cookie的有效期整數用setCookie方法把3個參數傳入 下面是第一次進入的時候,第一次保存cookie如下圖:
function setCookie(cookname,cookValue,expireTime)//cookname 是cookie的對象名,cookValue是值 expireTime有效期整數
{
//獲取一個計算機最新時間
var expireMinute=new Date();
//把有效期整數通過setDate() 和.getMinutes方法得出最後過期時間
expireMinute.setDate(expireMinute.getMinutes()+expireTime);
//通過下面的格式拼接把cookie的對象名,cookValue的值 cookie的有效期進行存儲。
document.cookie=cookname+"="+cookValue+((expireMinute==null)?"":";expire"+expireMinute.toGMTString());
}
第3步cookie參數需要把有效時間計算爲cookie有效期格式時間。最後通過document.cookie方法保存。下次登錄的時候,直接用cookie名去獲取cookie內容。 如下圖:
//cookie對象的存儲內容爲: username=cookieValue;expire時間;
function getCookie(cookname) //能過cookie名找到對應cookie名的內容。
{
if (document.cookie.length>0)
{
//通過.indexOf方法:找cookie名對應的cookie,
var stratIndex=document.cookie.indexOf(cookname);
if (cookname!=-1)
{
stratIndex=stratIndex+cookname.length+1;//把cookie名的位置計算出來
var endIndex=document.cookie.indexOf(";",stratIndex);//把cookie值計算出來
if (endIndex==-1)
{
endIndex=document.cookie.length;
}
return document.cookie.substring(stratIndex,endIndex);//把cookie的值返回給checkCookie();
}
}
return "";
}
從方法需要判斷cookie 是否存在, 是否過期。 然後有字符串的方法,截取cookie的值 內容。並返回即可。下次登錄即有歡迎頁面內容。