这次给大家带来怎样使用Web Storage存储,使用Web Storage存储的注意事项有哪些,下面就是实战案例,一起来看一下。
localStorage——-sessionStorage
Web Storage特点:
1、Key–Value型的简单存储形式
2、可以和其他普通的javascript对象相同的形式来进行读写操作
3、容量大–>5M(和cookie相比)–(cookie只有4KB、且发送请求时会一起带上,影响速度)
4、只能在同源的情况下才能被访问
以下用localStorage进行举例—-》sessionStorage和localStorage基本相同,但是sessionStorage是基于会话的,随着窗口的关闭而消失。但是localStorage是存储在本地的数据,除了通过程序删除或者手动删除,数据是不会丢失的。
类似与普通的javascript对象,可以采用点(.)操作和[ ]中括号操作来访问属性。
如:localStorage.setItem(” foo”,”1″) \ localStorage.foo=”1″ \ localStorage[“foo”]=”1″
常用的api:setItem()、getItem()、clear()。
在对象进行存储的时候,在读写的时候,需要将对象转成JSON字符串进行存储,引入2个函数JSON.stringify(obj)、JSON.parse(str)
如:var obj={x:1,y:2} 存储:localStorage.obj=JSON.stringify(obj)、读取:var obj2=localStorage.parse(localStorage.obj)。
数据的枚举:1、通过key方法和length属性遍历 2、for in 遍历
1:for (var i=0;i<localStorage.length;i++){var key=localStorage.key(i) , value=localStorage[key] ; console.log(key+:+value);}
2:for (var key in localStorage){ if(localStorage.hasOwnProperty(key)){var value=localStorage[key] ; console.log(key+:+value);} }
storage事件
在某个窗口更改了web Storage的数据之后,那么就在除了更改数据的窗口之外的所以窗口触发storage事件。
window.addEventListener(‘storage’,function(event){ console.log(event.key) }.false);
下面列举几个常用的event事件对象的属性。
key(被更新的键名)、oldValue(更新前的值)、newValue(更新之后的值)、url(被更新的页面的url)
命名空间的管理—-由于localStorage的数据不对自动消失,如果胡乱的添加过多的属性,就会导致后续的管理变得十分困难。我们可以通过命名空间来进行管理。
<span style=white-space:pre> </span>var serviceName="SERVICENAME",storage=null;
//通过load事件读取数据至本地变量
window.onload=function(){
try{
storage=JSON.parse(localStorage[serviceName] || '{}');
}catch{
storage={};
}
}
//通过onbeforeunload时间将数据写入localStorage
window.onbeforeunload=function(){
localStorage[serviceName]=JSON.stringify(storage)
}1、将localStorage的数据写到本地变量storage中,那么对其的访问速度会比访问localStroage的速度块。
2、不同页面或者不同模块分别以不同的serviceName命名,进而避免属性名冲突
3、由于一次页面只对localStorage读写了一次,所以在页面中无法触发storage事件。所以在必要时,我们必要时需要封装方法来对localStorage数据进行更新,或者同步其他标签页的数据。
相信看了本文案例你已经掌握了方法,更多精彩请关注双恒网络其它相关文章!
推荐阅读:
如何使用源生css3实现圆环加载进度条
如何访问JS的对象属性与方法
以上就是怎样使用Web Storage存储的详细内容,更多请关注双恒网络其它相关文章!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
云资源网 » 怎样使用Web Storage存储
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 你们有qq群吗怎么加入?