隨筆-124  評論-49  文章-56  trackbacks-0
          js讀寫cookie可以提高效率,現對代碼作仔細說明,以備用:
          //寫cookies函數 
          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);
              
          //將 cookie 內容寫入客戶端,其中 expires 是系統使用的,表示 cookie 的失效日期(也可以省略),
              //expires 不可讀。escape 是對 cookie 值進行編碼,這是為了處理中文、空格等而設立的。
              document.cookie = name.toLowerCase() + "="+ escape (value) + ";expires=" + exp.toGMTString();
          }

          //讀取cookies函數 
          function getCookie(name)       
          {
              
          //取 cookie 字符串,由于 expires 不可讀,所以 expires 將不會出現在 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();
          }



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

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

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

          1. Cookie的兼容性問題

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

          2. Cookie的內容

          同樣的Cookie的內容的字符限制針對不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括號,圓括號,等于號(=),逗號,雙引號,斜杠,問號,@符號,冒號,分號都不能作為Cookie的內容。這也就是為什么我們在例子中設定Cookie的內容為"Test_Content"的原因。

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

          posted on 2009-11-04 15:42 junly 閱讀(293) 評論(0)  編輯  收藏 所屬分類: ajax/jquery/js
          主站蜘蛛池模板: 舟曲县| 拜城县| 黎平县| 宾川县| 金川县| 梓潼县| 博白县| 法库县| 杨浦区| 县级市| 两当县| 平遥县| 遂昌县| 云和县| 普兰店市| 石狮市| 丰城市| 上杭县| 彩票| 绥江县| 沈丘县| 勃利县| 威信县| 巴南区| 临江市| 梁平县| 巴彦县| 广宁县| 浑源县| 微山县| 玉龙| 黄浦区| 北流市| 资溪县| 嘉禾县| 积石山| 财经| 四平市| 承德县| 准格尔旗| 罗定市|