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天,也就是昨天
}
--------------------------------------------------------------------------------------------------------------------------------------------