JavaScript操作cookie
作者:陆金龙
发表时间:2017-10-06 22:48
赋值:document.cookie="uname=kinglong";//不会丢失其他cookie的值,浏览器维护多个
存储多个名/值对:document.cookie="uid=001; uname=kinglong";
取值:var strCookie=document.cookie; //对包括了该域名下的所有cookie ,以分号隔开的多个名/值对所组成的字符串
在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。
因此包含特殊字符时使用escape()编码特殊字符的赋值, 使用unescape()解码
默认情况cookie仅仅是存储在内存中,浏览器关闭后这些cookie将会丢失,可以用下面的选项来给cookie设置终止日期:document.cookie="uid=001; expires=GMT_String";
删除一个cookie,可以将其过期时间设定为一个过去的时间
指定可访问cookie的路径 document.cookie="userId=320; path=/shop";
指定可访问cookie的主机名 document.cookie="name=value; domain=cookieDomain";
function addCookie (name,value,expireHours){ var cookieString=name "=" escape(value); //判断是否设置过期时间 if(expireHoursi>0){ var date=new Date(); date.setTime(date.getTime expireHours*3600*1000); cookieString=cookieString "; expire=" date.toGMTString(); } document.cookie=cookieString; } function getCookieVal (name) { var strCookie=document.cookie; var arrCookie=strCookie.split("; "); for(var i=0;i<arrCookie.length;i ){ var arr=arrCookie[i].split("="); //找到名称为name的cookie,并返回它的值 if(name==arr[0]){ return unescape(arr[1]); } } return ""; } function deleteCookie(name){ var date=new Date(); date.setTime(date.getTime()-10000); document.cookie=name "=v; expire=" date.toGMTString(); }