- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HTML5 LocalStorage 本地存储.doc
HTML5?LocalStorage?本地存储
说到本地存储,这玩意真是历尽千辛万苦才走到HTML5
?
最早的Cookies4KB的样子,而且IE6只支持每个域名20个cookies,太少了。优势就是大家都支持,而且支持得还蛮好。很早以前那些禁用cookies的用户也都慢慢的不存在了,就好像以前禁用javascript的用户不存在了一样。
?
userData是IE的东西,垃圾。现在用的最多的是Flash吧,空间是Cookie的25倍,基本够用。再之后Google推出了Gears,虽然没有限制,但不爽的地方就是要装额外的插件(没具体研究过)。到了HTML5把这些都统一了,官方建议是每个网站5MB,非常大了,就存些字符串,足够了。比较诡异的是居然所有支持的浏览器目前都采用的5MB,尽管有一些浏览器可以让用户设置,但对于网页制作者来说,目前的形势就5MB来考虑是比较妥当的。
支持的情况如上图,IE8.0的时候就支持了,非常出人意料。不过需要注意的是,IE、Firefox测试的时候需要把文件上传到服务器上(或者localhost),直接点开本地的HTML文件,是不行的。
?
首先自然是检测浏览器是否支持本地存储。在HTML5window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。二者用法完全相同,这里以localStorage为例。
if(window.localStorage){?alert(This?browser?supports?localStorage);}else{?alert(This?browser?does?NOT?support?localStorage);}
?
存储数据的方法就是直接给window.localStoragewindow.localStorage.a?或者?window.localStorage[a]。它的读取、写、删除操作方法很简单,是以键值对的方式存在的,如下:
localStorage.a?=?3;//设置a为3localStorage[a]?=?sfsf;//设置a为sfsf,覆盖上面的值localStorage.setItem(b,isaac);//设置b为isaacvar?a1?=?localStorage[a];//获取a的值var?a2?=?localStorage.a;//获取a的值var?b?=?localStorage.getItem(b);//获取b的值localStorage.removeItem(c);//清除c的值
?
这里最推荐使用的自然是getItem()setItem(),清除键值对使用removeItem()。如果希望一次性清除所有的键值对,可以使用clear()。另外,HTML5还提供了一个key()方法,可以在不知道有哪些键值的时候使用,如下:
var?storage?=?window.localStorage;function?showStorage(){?for(var?i=0;istorage.length;i++){??//key(i)获得相应的键,再用getItem()方法获得对应的值??document.write(storage.key(i)+??:??+?storage.getItem(storage.key(i))?+?br);?}}
?
写一个最简单的,利用本地存储的计数器:
var?storage?=?window.localStorage;if?(!storage.getItem(pageLoadCount))?storage.setItem(pageLoadCount,0);storage.pageLoadCount?=?parseInt(storage.getItem(pageLoadCount))?+?1;//必须格式转换document.getElementByIdx_x(count).innerHTML?=?storage.pageLoadCount;showStorage();
不断刷新就能看到数字在一点点上涨,如下图所示:
?
需要注意的是,HTML5parseInt必须要使用的原因。
?
另外,在iPhone/iPadsetItem()时会出现诡异的QUOTA_EXCEEDED_ERR错误,这时一般在setItem之前,先removeItem()就ok了。
?
HTML5的本地存储,还提供了一个storage事件,可以对键值对的改变进行监听,使用方法如下:
if(window.addEventListener){?window.addE
您可能关注的文档
最近下载
- 2025年高考历史试卷(山东卷)附答案解析.docx VIP
- 中国文化古城—西安.-PPT.pptx VIP
- 《西方社会学理论》全套教学课件.ppt
- 第7课 实践出真知 课件 中职高教版哲学与人生.pptx
- 一针疗法之肩周炎.ppt
- 2025中国银行中银国际证券股份有限公司招聘8人笔试模拟试题及答案解析.docx VIP
- 神经介入治疗概述及护理常规.ppt VIP
- 舒伯特第二即兴曲,降E大调 D.899之2 Impromptu No. 2 in E flat major, D. 899, No. 2 Op90 Schubert钢琴谱.pdf VIP
- 深潜器钛合金框架结构装配焊接工艺研究-中国造船工程学会.doc
- 村两委工作细则汇编.doc VIP
文档评论(0)