看板 Ajax 關於我們 聯絡資訊
※ 引述《knives ()》之銘言: : 我查到jquery可以用 : $.cookie('name', 'test',{expires: 7}); : 寫入cookie : 那如果我的cookie是一個陣列的話 : 要對那個陣列做新增 移除 項目的話,又該怎麼做呢 : 我有google過,大部份的做法 : 都是先把原來的cookie抓出來,轉成List 再去做add remove : 再存回去 : 請問除了這樣,還有更直覺的方法嗎 : 謝謝回答 由於每個瀏覽器 cookie 有最大數量的限制,所以把陣列資料轉成字串 存入 cookie 的方式比較有可能,而且每個 cookie 也有長度限制(約4096) 如果能先確定資料一定不會出現「某個字元」時,可以把它當成陣列串接 的字元 //存入 var data = ['資料1','資料2','資料3']; $.cookie('data',data.join('#'),{expires: 3600}); //讀取 var data = $.cookie('data').split('#'); 另外一種方式,就是以物件進行JSON encode,這種可以不用考慮字元的問題 var config = { "opt1": 123, "opt2": "test" } //存入 $.cookie('config',JSON.stringify(config),{expires:3600}); //讀取 var config = JSON.parse($.cookie('config')); 正常來講,後者的方式會比較好,但要注意encode的物件,字串長度是否過長 可以把每個 cookie 當成微小型的資料表,不同類型的資料表最好能拆成多個 cookie 檔,避免長度過大爆掉 之前的拙作就是用 cookie 去記錄每個 user 的熟練記錄資料 http://liaosankai.com/50yin 以上驗經供你參考 -- 歡迎來我的網誌看看 @ http://liaosankai.pixnet.net/blog -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.188.102
terrybob:推,好文,我下載了… 12/24 16:24
s25g5d4:html5的web stoarge不知道有沒有搞頭 12/24 21:45
s25g5d4:storage* 12/24 21:45