日期:2014-05-16 浏览次数:20332 次
????? Cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个 cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
????? Cookie以键值对的形式来保存数据,保存数据是可以使用如下方式,也可以一次存储多个键值对;当需要设置失效时间时,可以指定expires属性。
document.cookie = "key=value"; document.cookie = "key1=value1;key2=value2......"; //设置失效时间 document.cookie = "key=value;expires=GMT_String";
????? 当键值对中出现特殊字符或者汉字之类的字符时,可以使用escape()方法进行编码,当取值时可以使用unescape()方法进行解码。
//使用escape()方法编码 document.cookie = cName + "=" + escape(cValue) ; //使用unescape()方法解码 unescape(cValue);
????? 当在Cookie中保存了数据时,可以使用document.cookie来获取数据,返回值为以分号分割的键值对。如果cookie中保存了username=user和password=pass,则通过document.cookie返回一个字符串:“username=user;password=pass”;当我们得到这个字符串时,我们可以通过分割字符串来得到具体的值。
function setCookie(cName,cValue,cExpire){ var now = new Date(); now.setMinutes(now.getMinutes()+cExpire); document.cookie = cName + "=" + escape(cValue) + ";expires=" + now.toGMTString(); }
function getCookie(cName){ var cookies = document.cookie; if(cookies.length>0){ var cStart = cookies.indexOf(cName+'='); if(cStart!=-1){ cStart = cStart + cName.length + 1; cEnd = cookies.indexOf(';',cStart); if(cEnd==-1) cEnd = cookies.length; return unescape(cookies.substring(cStart,cEnd)) } }else{ return null; } }
??? 删除cookie就是将某个cookie过期。
function expireCookie(cName){ var cValue = getCookie(cName); setCookie(cName,cValue,-1); }
?
?
????修改原有的Cookie,无非就是将原有的键值对重新设置即可。
?
?
?(完) xusweeter @ 2010年08月23日 15:30;
?????