论坛首页 入门技术论坛

js 对 Cookie的操作

浏览 3711 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-10-22  
//获得cookie解码后的值
function getCookieVal(offset){
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

//设定cookie值
function setCookie(name, value){
	var expdate = new Date();
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : 60*60*24;
	var path = (argc > 3) ? argv[3] : contextPath;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
	//alert(expdate);
	document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
	+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))
	+((secure == true) ? "; secure" : "");
}

//删除cookie
function delCookie(name){alert(name);
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = getCookie (name);
	alert(document.cookie);
	document.cookie  =  name  +  "="  +1  +  ";  expires="+  exp.toGMTString(); 
}

//获得cookie原始值
function getCookie(name){
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen){
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
注意: 其中删除cookie 不是那么好用!正在寻找更好用的方法!有知道的可以共同交流下!

 

   发表时间:2010-10-26  
精神可嘉,楼主不必那辛苦,jquery.cookie.js 轻松解决。
0 请登录后投票
   发表时间:2010-10-26  
获得cookie 可以用转换成数组,在遍历获取。我以前看过,截取字符串获取有缺陷。上网搜搜应该能找到。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics