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