麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

javascript針對cookie的基本操作實例詳解

2024-05-06 16:25:30
字體:
來源:轉載
供稿:網(wǎng)友
這篇文章主要介紹了javascript針對cookie的基本操作,結合實例形式較為詳細的分析了JavaScript操作cookie的基本技巧,并給出了一個JavaScript操作cookie的完整類,具有一定參考借鑒價值,需要的朋友可以參考下
 

本文實例講述了javascript針對cookie的基本操作。分享給大家供大家參考,具體如下:

js被C#、JAVA等開發(fā)者視為聲名狼藉的附屬編程語言是有道理的,比如說,對cookie的操作。js就沒有一套類似C#的現(xiàn)成處理方案,而只能由你自己去完成。下面我就將自己學習的用面向對象的思想對cookie進行處理的學習筆記整理一下,以饗讀者。

cookie的常見操作分析:

(1)設置cookie 包括了添加和修改功能,事實上如果原有cookie 名稱已經(jīng)存在,那么添加此cookie 就相當于修改了此cookie。在設置cookie 的時候可能還會有一些可選項,用于指cookie  的聲明周期、訪問路徑以及訪問域和安全性等等。為了讓cookie 中能夠存儲中文,該方法中還需要對存儲的值進行編碼。

(2)取一個cookie的值,該方法接收cookie 名稱為參數(shù),返回該cookie 的值。因為在存儲該值的時候已經(jīng)進行了編碼,所以取值時應該能自動解碼,然后返回(這里其實可以自己設置返回什么,而不單單是"取一個值"而已)。

(3)刪除一個cookie,刪除cookie 只需將一個cookie 的過期事件設置為過去的一個時間即可,它接收一個cookie 的名稱為參數(shù),從而刪除此cookie(我的實現(xiàn)還將cookie名稱設置為空,這是考慮到今后可能會有多個cookie要設置的時候,名稱發(fā)生沖突的情況)。

(4)其他 (這里讓讀者自己去考慮其他的操作,不贅述了。)

好的,你一定又猜到我要說什么了,對頭,code is cheap.看代碼:

/* 對cookie的操作 *///創(chuàng)建var Cookie = new Object();//設置(修改)屬性和方法Cookie.setCookie = function(sName, sValue, oExpires, sPath, sDomain, bSecure) {  var sCookie = sName + "=" + escape(sValue); // 名稱和值  if (oExpires) {    sCookie += "; expires=" + oExpires.toGMTString(); // 過期時間  }  if (sPath) {    sCookie += "; path=" + sPath; // 訪問路徑  }  if (sDomain) {    sCookie += "; domain=" + sDomain; // 訪問路徑  }  if (bSecure) {    sCookie += "; true"; // 安全性  }  document.cookie = sCookie;}//獲取Cookie.getCookie = function(sName) {  var cookieArray = document.cookie.split(";"); //得到分割的名值對  var tempCookie = new Object();  for (var i = 0; i < cookieArray.length; i++) {    var tempArr = cookieArray[i].split("="); //將名稱和值分開    if (tempArr[0] == sName) { //如果是指定的cookie,返回它的值      return unescape(tempArr[1]);    }  }  return "There's no such a cookie name!";}//刪除Cookie.deleteCookie = function(sName, sPath, sDomain) {  var sCookie = sName + "=; expires=" + (new Date(0)).toGMTString(); // 設置名稱為空,過期時間為0,也可以設置過期時間為負數(shù) (var sCookie = sName + "=; expires=-1"; )  if (sPath) {    sCookie += "; path=" + sPath;  }  if (sDomain) {    sCookie += "; domain=" + sDomain;  }  document.cookie = sCookie;}function test() {  Cookie.setCookie("test", "cookieTest");  alert(Cookie.getCookie("test"));  alert(Cookie.getCookie("test2")); // ???  Cookie.deleteCookie("test");  alert(Cookie.getCookie("test"));}

補充:javascript 操作cookie類

String.prototype.Trim = function(){  return this.replace(/^/s+/g,"").replace(//s+$/g,"");}function JSCookie(){  this.GetCookie = function(key)  {    var cookie = document.cookie;    var cookieArray = cookie.split(';');    var getvalue = "";    for(var i = 0;i<cookieArray.length;i++)    {      if(cookieArray[i].Trim().substr(0,key.length) == key)      {        getvalue = cookieArray[i].Trim().substr(key.length + 1);        break;      }    }    return getvalue;  };  this.GetChild = function(cookiekey,childkey)  {    var child = this.GetCookie(cookiekey);    var childs = child.split('&');    var getvalue = "";    for(var i = 0;i < childs.length;i++)    {      if(childs[i].Trim().substr(0,childkey.length) == childkey)      {        getvalue = childs[i].Trim().substr(childkey.length + 1);        break;      }    }    return getvalue;  };  this.SetCookie = function(key,value,expire,domain,path)  {    var cookie = "";    if(key != null && value != null)      cookie += key + "=" + value + ";";    if(expire != null)      cookie += "expires=" + expire.toGMTString() + ";";    if(domain != null)      cookie += "domain=" + domain + ";";    if(path != null)      cookie += "path=" + path + ";";    document.cookie = cookie;  };  this.Expire = function(key)  {    expire_time = new Date();    expire_time.setFullYear(expire_time.getFullYear() - 1);    var cookie = " " + key + "=e;expires=" + expire_time + ";"    document.cookie = cookie;  }}

用法:

一、設置cookie

var cookie = new JSCookie();//普通設置cookie .SetCookie("key1","val1");//過期時間為一年var expire_time = new Date();expire_time.setFullYear(expire_time.getFullYear() + 1);cookie .SetCookie("key2","val2",expire_time);//設置域及路徑,帶過期時間cookie .SetCookie("key3","val3",expire_time,".cnblogs.com","/");//設置帶子鍵的cookie,子鍵分別是k1,k2,k3cookie .SetCookie("key4","k1=1&k2=2&k3=3");

二、讀取cookie

//簡單獲取cookie .GetCookie("key1");cookie .GetCookie("key2");cookie .GetCookie("key3");cookie .GetCookie("key4");//獲取key4的子鍵k1值cookie .GetChild("key4","k1");

三、刪除

cookie .Expire("key1");cookie .Expire("key2");cookie .Expire("key3");cookie .Expire("key4");

希望本文所述對大家JavaScript程序設計有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 日日鲁一鲁视频 | 免费一级特黄欧美大片勹久久网 | 一区二区免费看 | 亚洲成人激情在线 | 午夜视频在线观 | 国内精品久久久久影院不卡 | 欧美性色黄大片www 成人免费网站在线观看 | 国产九九热| 亚洲婷婷日日综合婷婷噜噜噜 | chinesexxx少妇露脸 | 羞羞视频免费网站 | 黄色片网站在线播放 | av电影在线播放 | videos真实高潮xxxx | 毛片福利 | 狠狠久久 | 极品一级片 | 女人裸体让男人桶全过程 | 国产亚洲自拍一区 | 青青草成人av | 亚洲电影在线播放 | 亚洲天堂成人在线 | 国产黄色毛片 | 欧美精品一区自拍a毛片在线视频 | 在线看三级 | 欧美精品a∨在线观看不卡 午夜精品影院 | 国产韩国精品一区二区三区久久 | 91精品观看91久久久久久国产 | 久久一区二区三区av | 国产69精品久久久久孕妇黑 | 成人在线视频免费 | 国内精品久久久久久久久久 | a视频网站 | 亚洲一区成人在线 | 91性高湖久久久久久久久网站 | 欧美伦交 | 欧美在线观看视频一区二区 | 视频在线91| 国产毛片自拍 | 欧美精品在线视频观看 | 国产亚洲精彩视频 |