によって直接物事のやり方をお勧めします私のために働く。私がやったことは、オブジェクトを格納できるようにStorageプロトタイプを書き直すことでした。
まず、私は、元のメソッド "保存":
Storage.prototype._setItem = Storage.prototype.setItem;
Storage.prototype._getItem = Storage.prototype.getItem;
そして、私は新しいものに書き換える:
localStorage.setItem('test', {value: 1}); // or localStorage.setItem('test', '{value: 1}')
localStorage.setItem('test2', [3,2,1]); // or localStorage.setItem('test2', '[3,2,1]');
localStorage.setItem('test3', '{no object stuff');
:
これを持っ
Storage.prototype.setItem = function(key, object){
if(typeof object == 'object'){
this._setItem(key, JSON.stringify(object));
}
else{
this._setItem(key, object);
}
}
Storage.prototype.getItem = function(key){
var val = this._getItem(key);
try{
val = JSON.parse(val);
}catch(e){}
return val;
}
を、あなたはとしてそれを使用することができます
と同じデータを取得します。getItem
localStorage.getItem('test'); // Object: {value: 1}
localStorage.getItem('test2'); // Array: [3,2,1]
localStorage.getItem('test3'); // String: '{no object stuff'
文字列の 'JSON'ですか? –
@Marekそれはかなり妥当と思われる –
@MarekSebera - あなたは答えとして投稿する必要があります。それは誰もがそれを行う方法はかなりです。 – Anurag