Answers:
W3C草案对此表示
用户代理应仅出于安全原因或在用户要求时才使本地存储区中的数据过期。用户代理应始终避免在运行可以访问数据的脚本时删除数据。
因此,如果浏览器遵循该规范,则该规范应一直保留到用户在所有浏览器上将其删除为止,但在我的所有项目中都没有发现任何已删除的规范。
一篇不错的文章也是http://ejohn.org/blog/dom-storage/
localStorage也被称为Web存储,HTML5存储和DOM存储(它们都意味着同一件事)。
localStorage与sessionStorage相似,不同之处在于,存储在localStorage 中的数据没有到期时间,而存储在sessionStorage中的数据在浏览会话结束时(即,关闭浏览器/浏览器选项卡时)被清除。会话存储的使用频率比localStorage少得多,并且仅存在于当前浏览器选项卡中-即使加载到同一网站的两个选项卡也将具有不同的sessionStorage数据。sessionStorage数据在页面刷新后仍然有效,但不能关闭/打开选项卡。另一方面,LocalStorage数据在同一来源的所有选项卡和窗口之间共享。LocalStorage数据不会过期;重新启动浏览器后,甚至在操作系统重新启动后,它仍然保留。 资源
在所有浏览器上都可以使用localStorage,但是并不能始终如一地实现持久性。特别是,localStorage可以通过用户操作清除,并且可能会无意中清除(谁会认为清除所有cookie也会清除localStorage?)。
在Firefox中,当满足以下三个条件时,将清除localStorage:(a)用户清除最近的历史记录,(b)选择要清除的cookie,(c)时间范围为“所有”
在Chrome中,当满足以下条件时,将清除localStorage:(a)清除浏览数据,(b)选择“ Cookie和其他站点数据”,(c)时间范围是“从时间开始”。在Chrome中,现在还可以删除一个特定站点的localStorage。
在IE中,清除localStorage:(a)工具-Internet选项,(b)常规选项卡,(c)删除退出时的浏览历史记录,(d)确保“ Cookie和网站数据”(或“临时互联网文件和网站文件” “”被选中,(e)考虑取消选中顶部的“保留收藏夹网站数据”
在Safari中:(a)单击Safari(b)首选项(c)选择“隐私”选项卡(d)单击“删除所有网站数据”(e)单击“立即删除”
Opera:尽管Opera网站上有许多关于localStorage的文章,但我还没有找到关于如何清除localStorage的清晰(非编程)说明。如果有人发现,请在此答案下方留下带有参考链接的评论。
该歌剧开发站点具有的localStorage的一个很好的总结:
当前在客户端上存储数据的方式(cookie)是一个问题:
大小偏小:Cookie的最大大小通常约为4 KB,这对于存储任何类型的复杂数据都不利
Cookie很难跟踪同一站点上的两个或多个交易,而这可能发生在两个或多个不同的选项卡中
可以使用跨站点脚本之类的技术来利用Cookie,从而导致安全漏洞
Cookie的其他(较不受欢迎)替代方法包括涉及查询字符串,隐藏表单字段,基于Flash的本地共享对象等的技术。每种技术都有其自身的一系列与安全性,易用性,大小限制等相关的问题。所以到目前为止,我们一直在使用非常糟糕的方式在用户端存储数据。我们需要一种更好的方法,这就是Web存储的用武之地。
网络存储
W3C Web存储规范被设计为在客户端存储数据的一种更好的方法。它具有两种不同类型的存储:会话存储和本地存储。
会话存储和本地存储通常都可以在每个域中存储大约5 MB的数据,这远远大于cookie。
资源:
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/sessionStorage
https://javascript.info/localstorage
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/
只要用户选择清除存储(全部或其中一个值),本地存储中的内容就将保持不变
关于跨浏览器的一致性,当前在包括IE8 +在内的所有主流浏览器上都可以使用localstorage(请参阅http://caniuse.com/#feat=namevalue-storage)
在Chrome中执行“清除浏览数据”时,如果您选择“ Cookies以及其他网站和插件数据”选项,则sessionStorage数据将被删除。