2013-01-15 56 views
-1

使用JavaScript創建我用小Javascript代碼,將只讀一個Cookie(給它的價值)?

document.cookie = "cookieName=cookieValue;expires=myDate;path=/" 

要讀取cookie的一個cookie:我讀的網頁,包括W3Schools的文章很多,但他們給人以for(;;){}方法和split複雜的代碼。我不需要這樣的代碼。我只需要一個小的JavaScript代碼。

如果有人可以,請給我一個代碼,將顯示一個值爲'cookieName' cookie的提醒?

+0

的可能重複[使用Javascript功能的getCookie(http://stackoverflow.com/questions/4003823/javascript-getcookie-functions) –

+0

它可能,但我要求一些簡單而不復雜的東西 – AMD

+0

如果你想要一些能夠可靠工作的東西,那麼這可能會很容易。 –

回答

1

這可能是我可以給你的最簡單的方法。

調用函數返回值庫克:

 /**  
    * Returns cookie. 
    * @param {String} sName Main cookie name. 
    * @param {String} SubName Sub cookie name. 
    * @return {String} Cookie.  
    */ 


GetCookie: function (sName, SubName) { 
     var aCookie = document.cookie.split("; "); // cookies are separated by semicolons 
     var CookieVal = null; 
     var bHasKeys; 
     for (var i = 0; i < aCookie.length; i++) { 
      var aCrumb = aCookie[i].split("="); 
      bHasKeys = aCrumb.length > 2 ? 1 : 0; 
      if (sName == aCrumb[0]) { 
       var TempVal = aCookie[i]; 
       TempVal = TempVal.substring(TempVal.indexOf(sName) + sName.length + 1, TempVal.length); 
       if (SubName) { 
        TempArr = TempVal.split("&"); // subcookie seperated by & 
        for (var j = 0; j < TempArr.length; j++) { 
         if (TempArr[j].split("=")[0] == SubName) { 
          CookieVal = TempArr[j].split("=")[1]; 
          //while loop is added since /+/g syantax does not work here 
          while (CookieVal.indexOf("+") != -1) CookieVal = CookieVal.replace('+', ' '); 
          CookieVal = unescape(CookieVal); 
          break; 
         } 
        } 
       } 
       else { 
        if (bHasKeys) CookieVal = TempVal; 
        else { 
         CookieVal = aCrumb[1]; 
         //while loop is added since /+/g syantax does not work here 
         while (CookieVal.indexOf("+") != -1) CookieVal = CookieVal.replace('+', ' '); 
         CookieVal = unescape(CookieVal); 
        } 
        break; 
       } 
      } 
     } 
     return CookieVal == null ? '' : CookieVal; 
    } 
+0

爲什麼需要for(){},以及這段代碼如何給我提醒 – AMD

+0

Amden它可以調用任何你需要的方法,並給出返回類型的警告! 通常cookie會保存在嵌套對象中,例如: 在我的瀏覽器cookies中: G = SS = bengaluru%2Dvisitmachine%2D29&MT =&F = 0&M = 1&G = 0&U = 1&N = 0&R = 32&D = 1&B = 0&P = 0&V = 0&H = 0&S = 0&L =英文; 在您的代碼中: alert('G','U'); 給出警報1 – vajrakumar

相關問題