李说:
(已验证,可以直接用于开发中。)
在移动端开发中,我们未来将一根页面的数据带到另外一个页面中,需要将数据临时存放到缓存中,这时我们就用到了localstorage,相当于pc端的cookie和服务器的session一样。
<script>
/*
存储localstorage时候最好是封装一个自己的键值,在这个值里存储自己的内容对象,
封装一个方法针对自己对象进行操作。避免冲突也会在开发中更方便。
*/
var mystorage = (function mystorage(){
var ms = "mystorage";
var storage=window.localStorage;
if(!window.localStorage){
alert("浏览器不支持localstorage");
return false;
}
var set = function(key,value){
//存储
var mydata = storage.getItem(ms);
if(!mydata){
this.init();
mydata = storage.getItem(ms);
}
mydata = JSON.parse(mydata);
mydata.data[key] = value;
storage.setItem(ms,JSON.stringify(mydata));
return mydata.data;
};
var get = function(key){
//读取
var mydata = storage.getItem(ms);
if(!mydata){
return false;
}
mydata = JSON.parse(mydata);
return mydata.data[key];
};
var remove = function(key){
//读取
var mydata = storage.getItem(ms);
if(!mydata){
return false;
}
mydata = JSON.parse(mydata);
delete mydata.data[key];
storage.setItem(ms,JSON.stringify(mydata));
return mydata.data;
};
var clear = function(){
//清除对象
storage.removeItem(ms);
};
var init = function(){
storage.setItem(ms,'{"data":{}}');
};
return {
set : set,
get : get,
remove : remove,
init : init,
clear : clear
};
})();
console.log(mystorage.set('tqtest','tqtestcontent'));//存储
console.log(mystorage.set('aa','123'));//存储
console.log(mystorage.set('tqtest1','tqtestcontent1'));//存储
console.log(mystorage.set('tqtest1','newtqtestcontent1'));//修改
console.log(mystorage.get('tqtest'));//读取
console.log(mystorage.remove('tqtest'));//删除
mystorage.clear();//整体清除
</script>
转载至:http://blog.csdn.net/guo8ke/article/details/70846743