本地存储封装-localStorage,sessionStorage,userData
来源:互联网 发布:linux线程退出函数 编辑:程序博客网 时间:2024/06/06 08:09
h5新增了本地存储localStorage,sessionStorage。UserData是微软为IE专门在系统中开辟的一块存储空间。
chrome, safari, firefox, ie 9都支持 localStorage.。IE6,7需要使用userData进行兼容。 使用 cookie不但容量有限,而且给我们增加了不少的带宽,也进行影响网站的性能。
封装代码如下:
var localData = { hname:location.hostname?location.hostname:'localStatus', isLocalStorage:window.localStorage?true:false, dataDom:null, initDom:function(){ //初始化userData if(!this.dataDom){ try{ this.dataDom = document.createElement('input');//这里使用hidden的input元素 this.dataDom.type = 'hidden'; this.dataDom.style.display = "none"; this.dataDom.addBehavior('#default#userData');//这是userData的语法 document.body.appendChild(this.dataDom); var exDate = new Date(); exDate.setDate(exDate.getDate()+30); //修改!!! this.dataDom.expires = exDate.toUTCString();//设定过期时间 }catch(ex){ console.log(ex); return false; } } return true; }, set:function(key,value){ if(this.isLocalStorage){ window.localStorage.setItem(key,value); }else{ if(this.initDom()){ this.dataDom.load(this.hname); this.dataDom.setAttribute(key,value); this.dataDom.save(this.hname) } } }, get:function(key){ if(this.isLocalStorage){ return window.localStorage.getItem(key); }else{ console.log("get-userdata"); if(this.initDom()){ console.log(this.dataDom); this.dataDom.load(this.hname); return this.dataDom.getAttribute(key); } } }, remove:function(key){ if(this.isLocalStorage){ localStorage.removeItem(key); }else{ if(this.initDom()){ this.dataDom.load(this.hname); this.dataDom.removeAttribute(key); this.dataDom.save(this.hname) } } } } //基本测试:主流浏览器及IE下测试通过 localData.set('lala','123'); console.log("00",localData.get("lala")); //123 console.log("11",localData.get("la")); //null
本文参考文章:js本地存储解决方案(localStorage与userData)
原文中代码设置expires处有错误,本文已经纠正。
阅读全文
0 0
- 本地存储封装-localStorage,sessionStorage,userData
- 浏览器本地存储-localStorage && globalStorage || sessionStorage || UserData
- cookie,sessionStorage,localStorage本地存储
- h5本地存储localStorage,sessionStorage
- 本地存储Cookie、localStorage、sessionStorage
- html5 本地存储-sessionStorage localStorage 本地数据库
- js本地存储解决方案(localStorage与userData)
- js本地存储解决方案(localStorage与userData)
- js本地存储解决方案(localStorage与userData)
- js本地存储解决方案(localStorage与userData)
- js本地存储解决方案(localStorage与userData)
- js本地存储解决方案(localStorage与userData)
- js本地存储解决方案(localStorage与userData)
- IE UserData 本地存储(替代localStorage)
- LocalStorage本地存储和sessionStorage会话存储
- HTML5 本地存储 localStorage SessionStorage StorageListener- 2
- HTML5 LocalStorage本地存储和sessionStorage使用
- HTML5本地存储-localStorage和sessionStorage
- JAVASCRIPT
- mysql查询表里的重复数据方法:
- Java读取文件
- FastJson--常用方法总结
- 创建型模式—建造者模式
- 本地存储封装-localStorage,sessionStorage,userData
- iOS中的crash防护(四)NSNotificationCenter指定线程接收通知
- MyBatis教程之一基本使用入门
- Jvm垃圾收集器和垃圾回收算法
- 关于json数据中包含json在低版本中出错的状况
- iOS 加载H5页面的时候添加一个菊花
- WebRTC实时通信系列教程7 使用Socket.IO搭建信令服务器交换信息
- 洛谷 P2619 奶牛工资 贪心
- ulimit -n永久生效