HTML5中的localStorage什么时候会被清空

2024-11-23 23:46:08
推荐回答(2个)
回答1:

  Chrome 21不清除localStorage. 这个异常结果可能归结于测试结果。 Chrome 21清除localStorage,但是并不在当前选项卡的内存中清除。如果你切换选项卡或者是重启Chrome浏览器,则被清掉了,是从内存中也清掉了。这实际上是一个bug, Chrome 23.0.1259以及后续版本修正了这个问题。
  Firefox 3.6不清楚磁盘缓存,该问题的出现似乎与Chrome 21约好的:图片已经从磁盘缓存中清掉,但是,内存缓存中还在。按理说,两者都应该被清除掉的,2010的时候,FireFox团队修复了这个bug.
  IE 6-7不支持appcache以及localStorage.
  IE 8-9不支持appcache
  Firefox 3.6, IE 8-9, and Safari 5.0.5不清除localStorage, 我猜想,出现这个问题的原因是浏览器没有连接这些本地存储的界面。可参考下面展示的浏览器界面。

回答2:

  HTML5 提供了两种在客户端存储数据的新方法:localStorage - 没有时间限制的数据存储sessionStorage - 针对一个 session 的数据存储之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。所以,localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。ocalStorage 方法存储的数据没有时间限制,如果清空的话,只能人为的清空,比如localStorage.removeItem(key)会删除某一条数据,一旦删除,key对应的数据将会全部删除全部清除:localStorage.clear()某些时候使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会清除所有localStorage对象保存的数据