【发布时间】:2011-12-02 00:12:13
【问题描述】:
我正在编写一个 HTML5 应用程序,我想在 iOS 应用商店上发布。使用 PhoneGap 或包装在 UIWebView 控件中。
我对在为我的应用程序存储数据方面有哪些选择感到有些困惑。
是否使用适合在此类应用程序中存储应用程序数据的 localStorage、WebSQL 或 IndexedDB 技术?我将存储 JSON 和 XML 数据。
请记住,如果用户无意中删除了这些数据,那么他们将丢失他们的工作,这显然是我不希望发生的。
我知道减轻这种风险的唯一真正方法是将数据同步到“云”或其他在线系统 - 我可以在未来的版本中这样做,但不是现在。最初我只想在本地存储数据,如果这是一种合理稳定的做事方式。
据我了解,在清除 cookie 时,浏览器也会清除所有 localStorage 数据。所以排除了这种情况,因为我可以看到用户偶然这样做。
WebSQL 看起来不错——用户不会在 iOS 上无意中删除它。他们实际上必须进入浏览器设置并手动删除数据库。
但 WebSQL 的缺点是,从我读到的内容来看,它将来可能不会被支持。
使用 IndexedDB,我不清楚数据何时被清除。当 cookie 被删除时它是否也会被删除,或者 Safari 设置中的“数据库”选项是否控制它?
IndexedDB 是不是更好的解决方案,因为它将来会比 WebSQL 有更好的支持?
还有其他我不知道的更合适的解决方案吗?
【问题讨论】:
标签: ios html local-storage web-sql indexeddb