localStorage何时清除?
我可以期待多久的数据保存在localStorage。 一般用户的localStorage数据将持续多久? 如果用户没有清除它,它会持续到浏览器重新安装?
这在浏览器中是否一致?
W3C草案说这个
用户代理只能出于安全原因或在用户请求时从本地存储区域中过期数据。 用户代理应始终避免在可以访问该数据的脚本正在运行时删除数据。
因此,如果浏览器遵循规范,它应该坚持直到用户在所有浏览器上删除它,我还没有发现任何closures我的项目已经删除。
localStorage也被称为Web存储,HTML5存储和DOM存储(这些都意味着同样的事情)。
localStorage与sessionStorage类似, 只是存储在localStorage 中的数据没有过期时间,而当浏览会话结束时(即,浏览器closures时)存储在sessionStorage中的数据被清除。
所有的浏览器都可以使用localStorage,但是持久性并没有得到一致的实现。 特别是,localStorage可以通过用户操作清除,并可能被无意中清除(谁会认为清除所有cookie也会清除localStorage?)。
在Firefox中,当满足以下三个条件时,localStorage被清除:(a)用户清除最近的历史,(b)select要清除的cookie,(c)时间范围是“一切”
在Chrome中,当满足以下条件时,localStorage被清除:(a)清除浏览数据,(b)select“cookies和其他站点数据”,(c)时间从“开始”开始。 在Chrome中,现在也可以删除一个特定站点的localStorage 。
在IE中,要清除本地存储:(a)工具 – Internet选项,(b)常规选项卡,(c)在退出时删除浏览logging,(d)确保“Cookies和网站数据”(或“临时Internet文件和网站文件“)被选中,(e)考虑在顶部取消选中”保存collections夹网站数据“
在Safari中:(a)点击Safari(b)首选项(c)select隐私标签(d)点击删除所有网站数据(e)点击立即移除
Opera:尽pipe来自Opera网站的localStorage上有优秀的文章,但我还没有find清楚(非程序化)的指导给用户如何清除localStorage。 如果有人发现,请在参考链接下面留下评论。
Opera dev站点有一个很好的总结localStorage:
目前在客户端存储数据的方式 – cookies是一个问题:
尺寸较小:Cookie通常最大大小为4 KB左右,对于存储任何复杂的数据来说都不太好
Cookie在同一站点上跟踪两个或更多事务很困难,这可能发生在两个或更多不同的标签中
可以使用跨站点脚本等技术来利用cookie,从而导致安全漏洞
其他(较不受欢迎的)cookies替代方法包括涉及查询string,隐藏表单字段,基于闪存的本地共享对象等的技术。每个都有自己的一系列与安全性,易用性,大小限制等有关的问题。一直在使用非常糟糕的方式在用户端存储数据。 我们需要一个更好的方式,这就是Web存储的地方。
Web存储
W3C Web存储规范被devise为在客户端存储数据的一种更好的方式。 它有两种不同types的存储:会话存储和本地存储。
会话和本地存储通常能够在每个域中存储大约5 MB的数据,这比cookies要多得多。
资源:
https://dev.opera.com/articles/web-storage/
http://www.quirksmode.org/html5/storage.html
http://www.ghacks.net/2015/02/05/how-to-clear-web-storage-in-your-browser-of-choice/
http://www.opera.com/dragonfly/documentation/storage/
关于MDN的DOMStorage文章(由John Resig撰写)
只要用户select清除存储空间(完全或单个值),localstorage中的内容就是持久的,
关于浏览器的一致性,localstorage目前在每个主要浏览器上都可用,包括IE8 +(请参阅http://caniuse.com/#feat=namevalue-storage )
在Chrome浏览器中执行“清除浏览数据”时,如果select“Cookie和其他网站和插件数据”选项,sessionStorage数据将被删除。