您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

cookie的三种操作方法

2024/12/28 20:38:14发布9次查看
1,jquery.cookie.js
这一篇文章已经写的很详细了:
http://www.cnblogs.com/afuge/archive/2013/07/03/3169048.html
2,原生js操作cookie
jquery.cookie.js一般会出现cookie不兼容问题就要用原生的js了
<script language=javascript>
//获得coolie 的值
function cookie(name){   
  var cookiearray=document.cookie.split(; ); //得到分割的cookie名值对   
   var cookie=new object();   
   for (var i=0;i<cookiearray.length;i++){
var arr=cookiearray[i].split("="); //将名和值分开
if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值
}
return "";
}
function delcookie(name)//删除cookie
{
document.cookie = name+"=;expires="+(new date(0)).togmtstring();
}
function getcookie(objname){//获取指定名称的cookie的值
var arrstr = document.cookie.split("; ");
for(var i = 0;i < arrstr.length;i ++){
var temp = arrstr[i].split("=");
if(temp[0] == objname) return unescape(temp[1]);
}
}
function addcookie(objname,objvalue,objhours){ //添加cookie
var str = objname + "=" + escape(objvalue);
if(objhours > 0){                               //为时不设定过期时间,浏览器关闭时cookie自动消失
        var date = new date();
        var ms = objhours*3600*1000;
        date.settime(date.gettime() + ms);
        str += ; expires= + date.togmtstring();
   }
   document.cookie = str;
}
function setcookie(name,value)//两个参数,一个是cookie的名子,一个是值

    var days = 30; //此 cookie 将被保存 30 天
    var exp = new date();    //new date(december 31, 9998);
    exp.settime(exp.gettime() + days*24*60*60*1000);
    document.cookie = name + =+ escape (value) + ;expires= + exp.togmtstring();
}
function getcookie(name)//取cookies函数       
{
    var arr = document.cookie.match(new regexp((^| )+name+=([^;]*)(;|$)));
     if(arr != null) return unescape(arr[2]); return null;
}
function delcookie(name)//删除cookie
{
    var exp = new date();
    exp.settime(exp.gettime() - 1);
    var cval=getcookie(name);
    if(cval!=null) document.cookie= name + =+cval+;expires=+exp.togmtstring();
}
</script>
3,服务器端处理
 /// <summary>
    /// 将点击的值存放到cookie中
    /// </summary>
    private void setcookievalue(httpcontext context, string dic, string cookiename, string keyname)
    {
        httpcookie cookie = new httpcookie(cookiename);//初使化并设置cookie的名称
        if (context.request.cookies[cookiename] != null)
        {
            cookie = context.request.cookies[cookiename];
            if (cookie.values.count > 0 && cookie.values.getvalues(keyname) != null && cookie.values.getvalues(keyname).length > 0)
            {
                remove(cookiename, keyname);
            }
        }
        timespan ts = new timespan(0, 3, 0, 0, 0);//过期时间为3小时
        cookie.expires = datetime.now.add(ts);//设置过期时间
        cookie.values.add(keyname, dic);
        context.response.appendcookie(cookie);
        //ncookieutil.setcookie(keyname, dic);
    }
    /// <summary>
    /// 将点击的值从cookie中取出
    /// </summary>
    public string getclickvalue(httpcontext context, string cookiename, string keyname)
    {
        string username = ;
        if (context.request.cookies[cookiename] != null)
        {
            if (context.request.cookies[cookiename][keyname] != null)
            {
                username = context.request.cookies[cookiename][keyname].tostring();
            }
        }
        //username = ncookieutil.getcookie(keyname);
        return username;
    }
    /// <summary>  
    /// 移除cookie中指定的键,若是最后一个键则移除这个cookie  
    /// </summary>  
    public static void remove(string cookiename, string keyname)
    {
        httpcookie cookie = httpcontext.current.request.cookies[cookiename];
        if (cookie != null)
        {
            if (cookie.values.count > 0)
            {
                if (cookie.values.count == 1)
                {
                    //若是最后一个键则移除这个cookie,否则会多出一个空值  
                    cookie.values.remove(httputility.urlencode(keyname));
                    cookie.expires = datetime.now.adddays(-1);
                }
                else
                {
                    cookie.values.remove(httputility.urlencode(keyname));
                }
                httpcontext.current.response.cookies.add(cookie);
            }
        }
    }
其实这三种方法还是建议用第二种方法!
 以上就是cookie的三种操作方法的内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product