cookie使用随笔
cookie是一种浏览器缓存,可以理解为存放在浏览器上的一种小文件。
大小数目限制:
不同浏览器对于大小和数目均有不一样的限制,大小一般为4k,数目从30~50个(视浏览器类型),以键值对的形式存储,可通过浏览器进行查看
设置:
document.cookie= a+ "="+ b;(a是key, b是value)
在不设置过期时间的情况下,cookie的过期时间是直至浏览器关闭为止
加入过期时间:
document.cookie= a+ "="+ b+ ";"+ "expires="+ 世界时间+ ";path=/";
(expire翻译过来是期限)
(请加入路径,表示哪些路径下的文件有权限读取该 cookie,以免出现明明设置了cookie,却无法获取它的值的情况!具体介绍可参考: http://blog.csdn.net/caomiao2006/article/details/45133519)
完整方法即:
//设置cookie
function _setCookie(cname, cvalue, cDay) {
var d = new Date();
d.setTime(d.getTime() + (cDay*24*60*60*1000));
//toUTCString()转换为世界时间
var expires = "expires="+d.toUTCString()+"; path=/";
document.cookie = cname + "=" + cvalue + "; " + expires;
};
(设置时最好不要出于习惯加入空格,会连空格也算入cookie内容!)
//获取cookie
function _getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) != -1) {
console.log(c.substring(name.length, c.length))
return c.substring(name.length, c.length);
}
}
return "";
};
//清除某一个cookie
function _clearCookie(name) {
_setCookie(name, "", -1);
};
(原理:将其过期时间设为之前的时间);