国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

cookie的三種操作方法

2024-04-27 15:01:40
字體:
來源:轉載
供稿:網友

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);
            }
        }
    }

其實這三種方法還是建議用第二種方法!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文登市| 子洲县| 孟津县| 金乡县| 历史| 襄垣县| 河北省| 响水县| 曲沃县| 襄垣县| 泉州市| 永嘉县| 柳州市| 保定市| 延庆县| 舞阳县| 阿勒泰市| 弋阳县| 图木舒克市| 晋宁县| 张家川| 宾阳县| 广州市| 商南县| 诸暨市| 如东县| 克东县| 新巴尔虎右旗| 会理县| 汨罗市| 巴彦县| 福泉市| 丹棱县| 锦州市| 丘北县| 扎鲁特旗| 泗水县| 长宁区| 方山县| 乃东县| 五指山市|