隨筆-124  評(píng)論-49  文章-56  trackbacks-0
          js讀寫(xiě)cookie可以提高效率,現(xiàn)對(duì)代碼作仔細(xì)說(shuō)明,以備用:
          //寫(xiě)cookies函數(shù) 
          function SetCookie(name,value)//兩個(gè)參數(shù),一個(gè)是cookie的名子,一個(gè)是值
          {
              
          var Days = 30//此 cookie 將被保存 30 天
              var exp  = new Date();    //new Date("December 31, 9998");
              exp.setTime(exp.getTime() + Days*24*60*60*1000);
              
          //將 cookie 內(nèi)容寫(xiě)入客戶端,其中 expires 是系統(tǒng)使用的,表示 cookie 的失效日期(也可以省略),
              //expires 不可讀。escape 是對(duì) cookie 值進(jìn)行編碼,這是為了處理中文、空格等而設(shè)立的。
              document.cookie = name.toLowerCase() + "="+ escape (value) + ";expires=" + exp.toGMTString();
          }

          //讀取cookies函數(shù) 
          function getCookie(name)       
          {
              
          //取 cookie 字符串,由于 expires 不可讀,所以 expires 將不會(huì)出現(xiàn)在 cookieStr 中。 
              var arr = document.cookie.match(new RegExp("(^| )"+name.toLowerCase()+"=([^;]*)(;|$)"));
              
          if(arr != nullreturn unescape(arr[2]); return null;

          }

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



          //簡(jiǎn)單例子
          SetCookie ("name", www.buslfy.cn)
          alert(getCookie(name));

          //寫(xiě)入名稱為 cv 的 cookie
          SetCookie ("cv""test123"null);

          //寫(xiě)入名稱為 Ab,帶失效日期的 cookie
          var expires = new Date("December 11, 2010");
          SetCookie (
          "Ab""test234", expires);

          1. Cookie的兼容性問(wèn)題

          Cookie的格式有2個(gè)不同的版本,第一個(gè)版本,我們稱為Cookie Version 0,是最初由Netscape公司制定的,也被幾乎所有的瀏覽器支持。而較新的版本,Cookie Version 1,則是根據(jù)RFC 2109文檔制定的。為了確保兼容性,JAVA規(guī)定,前面所提到的涉及Cookie的操作都是針對(duì)舊版本的Cookie進(jìn)行的。而新版本的Cookie目前還不被Javax.servlet.http.Cookie包所支持。

          2. Cookie的內(nèi)容

          同樣的Cookie的內(nèi)容的字符限制針對(duì)不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括號(hào),圓括號(hào),等于號(hào)(=),逗號(hào),雙引號(hào),斜杠,問(wèn)號(hào),@符號(hào),冒號(hào),分號(hào)都不能作為Cookie的內(nèi)容。這也就是為什么我們?cè)诶又性O(shè)定Cookie的內(nèi)容為"Test_Content"的原因。

          雖然在Cookie Version 1規(guī)定中放寬了限制,可以使用這些字符,但是考慮到新版本的Cookie規(guī)范目前仍然沒(méi)有為所有的瀏覽器所支持,因而為保險(xiǎn)起見(jiàn),我們應(yīng)該在Cookie的內(nèi)容中盡量避免使用這些字符

          posted on 2009-11-04 15:42 junly 閱讀(294) 評(píng)論(0)  編輯  收藏 所屬分類: ajax/jquery/js
          主站蜘蛛池模板: 芦山县| 左云县| 格尔木市| 宁国市| 芜湖市| 伊宁县| 云梦县| 讷河市| 桐城市| 法库县| 云安县| 南木林县| 巴林左旗| 喀喇沁旗| 博白县| 遵义市| 犍为县| 东至县| 丰城市| 卓资县| 乌拉特中旗| 宁南县| 富宁县| 延津县| 石楼县| 隆昌县| 宿州市| 观塘区| 遂溪县| 阳泉市| 鄱阳县| 册亨县| 南投县| 公主岭市| 盐边县| 卢龙县| 姜堰市| 南乐县| 保靖县| 常宁市| 崇义县|