[英]Local storage and Internet Explorer 9 adventures
我在使用localStorage的Internet Explorer 9中遇到了有趣的问题。 我在使用i18next
库的Web项目中使用客户端本地化,并且作为本地化存储,我们决定使用localStorage。 我们会在用户首次访问时加载所有本地化(一种语言的整个本地化〜450kb)。 在Internet Explorer 9以外的所有浏览器上,所有程序都运行良好。经过一段时间并在语言之间进行切换后,尝试从服务器端加载本地化时,我开始收到错误- "SCRIPT5022: DOM Exception: QUOTA_EXCEEDED_ERR (22)"
。 当我尝试- localStorage.remainingSpace
返回: 120776
但是,当我尝试使用命令JSON.stringify(localStorage)
查找存储在localStorage中的内容时,它将返回- "{}"
。 因此,什么都没有存储在localStorage中,但是它写道只有120kb可用。 当我尝试任何其他网站时,对于命令localStorage.remainingSpace
它显示5000000
。 另外, localStorage.clear()
也无助于停止接收该消息- "SCRIPT5022: DOM Exception: QUOTA_EXCEEDED_ERR (22)"
问题是-“为什么Internet Explorer 9认为localStorage在不包含任何数据的同时几乎已满?”
感谢您的任何进步。
知道IE可能令人沮丧。 我遇到了类似的问题。
试试这个jQuery插件 。 另请参阅此 IE9问题是否与您的用例相匹配插件本身会尝试各种后备设置,而不设置实际的cookie。 不论浏览器是什么,他们都将无缝化API中的几种持久性机制集成在一起,只要它在受支持的列表中,它就可以在大小限制内运行。
[如果450kb不适合,请尝试创建服务器支持的后备,以主动获取本地存储中缺少的必需密钥,以免转移整个450k词典。
祝你好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.