JS的COOKIE操作函数
COOKIE通常可以用来辨别用户身份、进行session跟踪,而且一般是以加密的形式储存在用户本地终端。
很多人知道用动态脚本程序来设置COOKIE,但是如何用JS来设置COOKIE,也许用过,但并没有用到比较简单的方法。
这里分享几个JS操作COOKIE的函数:
/** 获取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 */
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value)
+ ((expires == null) ? "" : ("; expires=" + expires.toGMTString()))
+ ((path == null) ? "" : ("; path=" + path))
+ ((domain == null) ? "" : ("; domain=" + domain))
+ ((secure == true) ? "; secure" : "");
}
/** 删除COOKIE */
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = 0;
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
这里主要用到三个函数,即:GetCookie、SetCookie、DeleteCookie,最后的getCookieVal是在GetCookie中调用的一个子函数。
1、GetCookie(name)
获取COOKIE值,参数name即COOKIE名称。
2、SetCookie(name, value)
设置COOKIE值,设置name的COOKIE值。
3、DeleteCookie (name)
删除name的COOKIE值。
from: http://www.phper.org.cn/?post=48