sessionStorage、localStorage配列とオブジェクトの格納方法
2798 ワード
sessionStorageとlocalStorageはHTML 5の新しい特性としてクライアントキャッシュ技術に広く応用されている.しかし、これには誤りがあり、両者は格納されたコンテンツの大きさに制限はないが、格納されたものは文字列に変換され、つまり配列やオブジェクトを格納できず、格納されても文字列に変換される.しかし、実際に開発中にキャッシュされたデータは配列やjsonオブジェクトが一般的ですが、どのように処理すればいいのでしょうか.(下を見ると・・・)
ストレージ配列
jsonオブジェクトを保存
ストレージ配列
// ( sessionStorage )
var aa=[1,2,3];
var sStorage=window.sessionStorage;
sStorage.aa=aa;
console.log(sStorage.aa); // 1,2,3
/* */
function stringToArray(arr){
return arr.split(','); /* , @_@ */
}
/* */
function stringToArray(arr){
var tempArr=arr.split(',');
var returnArr=new Array();
var i,len=tempArr.length;
for(i=0;iif(typeOf(tempArr[0]*1)==='number'){
returnArr.push(tempArray[i]*1);
}else{
returnArr.push(tempArray[i]);
}
}
return returnArr;
}
/* , , */
jsonオブジェクトを保存
/* :JSON parse stringify , storage */
var obj = { Hellow:'world' };
var str = JSON.stringify(obj);
//
sessionStorage.obj = str;
//
str = sessionStorage.obj;
//
obj = JSON.parse(str);