2016-11-15 90 views
0

我對此很陌生,我試圖弄清楚爲cookie/cookies設置多個值的最佳方式是什麼。我需要在Cookie中存儲大約10個參數(不同的值)(針對不同的場景),但是我對此有嚴重疑問,因爲據我所知,cookie只接受一個參數值,因此我需要大約10個cookie!我認爲這太多了,我從來沒有在其他網站上看到過這樣的事情。Cookie的多個值

我設置這樣的cookie時它的需要:

document.cookie = 'yesno=yes; path=/'; 

將是很好,聽到的是它需要如何做

回答

0
var common={ 
setCookie:function (cname, cvalue, exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
}, 
getCookie:function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i = 0; i < ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0) == ' ') { 
      c = c.substring(1); 
     } 
     if (c.indexOf(name) == 0) { 
      return c.substring(name.length, c.length); 
     } 
    } 
    return ""; 
}};common.setCookie('tz',tz,30); 
+0

我該如何使用它? – neza

+0

common.setCookie('yesno',yes',30);這是設置cookie的功能 –

0

如果它不需要是一個cookie,你只是想要在訪問者瀏覽器之間的請求之間保存價值,那麼你可以使用localStorage。這比嘗試設置和解析cookie字符串格式要簡單得多。

文檔: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

localStorage.setItem('yesno', 'yes'); 
localStorage.getItem('yesno'); //=> 'yes' 

這和餅乾之間的主要區別在於,餅乾得到每個請求,其中本地存儲不一起發送到服務器。