1. 程式人生 > >Cookie的設定、讀取、刪除

Cookie的設定、讀取、刪除

Cookie是頁面用來儲存資訊的,是document的一個屬性,我們經常用到,但你真的會用了嗎?

由於Cookie“出生”得早,限制了它容量的大小,但它依然很強大,很常用。

設定Cookie很簡單:document.cookie='name=val'

Cookie有過期時間,如果不設定過期時間,預設瀏覽器關閉時Cookie自動刪除;

我們可以封裝一個函式用來設定Cookie的鍵-值-過期時間:

-----------------------------------------------------------------------------------------------------------------------------------------

function setCookie( name, value, iDay )   //三個引數分別是:鍵-值-過期天數

{

var oDate=new Date()     //獲取當前時間

oDate.setDate( oDate.getDate() + iDay )   //設定過期時間為當前時間加上過期天數

document.cookie=name + ' = ' +value + ' ;expires = '+ oDate

}

-------------------------------------------------------------------------------------------------------------------------------------------

示例:設定一個使用者名稱為“wang”的cookie,過期時間為14天

setCookie( 'user', 'wang', 14 )

當然,Cookie可以設定也可以讀取,我們依然使用一個封裝函式:

--------------------------------------------------------------------------------------------------------------------------------------------

function getCookie(name)

{

var ar=document.cookie.split('; ')   //利用分號加空格拆分cookie

for(var i=0;i<arr.length;i++)          

{

var arr2 = arr[i].split( '=' )          //用=號拆分單個的鍵-值

if(arr2[0] == name)//匹配

{

return arr2[1]//返回匹配的值

}

}

return '' //未匹配則返回空

}

--------------------------------------------------------------------------------------------------------------------------------------------

當然,cookie也是可以刪除的:

--------------------------------------------------------------------------------------------------------------------------------------------

function removeCookie( name )

{

setCookie( name,1,-1 )  //需要結合設定cookie的函式重新設定需要刪除的cookie的過期時間為-1天,也就是昨天

}

--------------------------------------------------------------------------------------------------------------------------------------------