我有一个用JavaScript编写的Web应用程序,可以通过Safari和iPhone在桌面上成功运行。
我们正在考虑将此应用程序移植到iPad上,我们遇到的问题是,当在设备上的localStorage中存储相对少量的数据时,我们看到QUOTA_EXCEEDED_ERR。我知道这个错误意味着什么,但我不认为我存储了那么多数据。
还有其他人在做类似的事吗?看到/没有看到这个问题?
...凯文
答案 0 :(得分:31)
我遇到了同样的问题,似乎在设置解决之前移除了密钥。
function setkey(key, val){
sessionStorage.removeItem(key);
sessionStorage.setItem(key, val);
}
答案 1 :(得分:7)
这不是一个错误,用户可以去那里设置iphone,然后选择safari。有一个设置私人brouwsing的选项。默认是打开所以存储工作,但有些禁用它。所以你应该在你的应用程序中创建一条消息,告诉主题启用它。
答案 2 :(得分:3)
如果您在设置之前使用删除存储数据的方式 - 在某些浏览器中会非常慢。删除数据比设置慢1.5倍(字符串大约50个符号)。 尝试使用FF 3.6(Ubuntu) - 使用SqlLite浏览器的速度非常慢。 所以,这只针对iPad设备进行破解。
答案 3 :(得分:2)
嘿,我遇到了同样的问题。我在iPad上尝试了我的应用程序,它正在吐出这个错误。我可以在Safari浏览器上复制它的唯一方法是将计算机置于私有模式...
我认为只要它处于私有模式,localStorage就会变成只读状态。所以我仍然没有解决方案,但如果它有帮助我会喜欢听到它。
答案 4 :(得分:2)
我在我的iPad上运行os版本3.something有同样的问题(抱歉能记住确切的版本)。我将操作系统升级到4.2.1,问题解决了!
似乎是Apple实施localstorage的一个错误,该错误已经修复。