我的应用程序使用客户端数据库存储使用webSQL为用户存储信息。我听说浏览器开始转向webSQL。目前只有Chrome,Safari和Opera支持它。由于IE和Firefox不支持webSQL,我正在使用cookie来存储信息,如果用户使用这些浏览器。然而,Cookie不太安全,并且很难存储大量数据。那么我的问题是,现在是否有更好的选择类似于所有浏览器支持的JavaScript API?谢谢。客户端存储与Web SQL数据库
1
A
回答
2
我认为IndexedDB将是您的选择,它是一个基于对象的数据存储。它目前由Chrome,Firefox和IE 10支持,将来也会支持它。
看一看下面的介绍,以更好地了解 http://html5-demos.appspot.com/static/html5storage/index.html#slide1
从我的经验,我建议使用一个包装库只是为了减少在浏览器的未来变化的风险。很少有流行的库如下
- 寄存给出填充工具通过雷米夏普
- Amplify.js通过appendTo HTML5 API与回退的HTML4浏览器 (包括IE6)
- RealStorage HTML5 API是一个子集整体API
- YUI3 CacheOffline由YUI团队 个
- Persistence.js异步Javascript对象数据库映射
- YDN-DB易于使用的数据库包装器是IndexedDB,和的WebSQL建立的localStorage封上库顶。
0
我已经晚了两年,但考虑到这个问题被问到后,客户端浏览器空间的发展,我想我会增加我的两分钱。
当问这个问题的时候,IndexedDB是唯一的替代WebSQL,尽管当时对它的支持很不明显。虽然今天前者依然如此,但后者并没有:现在,all of the major browser vendors have an implementation of IndexedDB。
考虑到IndexedDB是目前保持在W3C标准轨道上的唯一数据库,它几乎是本地客户端数据库的唯一选择。
但是在深入了解IndexedDB之前,您应该了解几件事。首先,它是一个非关系型文档存储,并且本身不支持SQL。第二个是它的API至少可以说是笨拙的。
鉴于这些事情,我建议你查看BakedGoods。有了它,将一个或多个数据项在IndexedDB的数据库,例如,是简单的:
bakedGoods.set({
data: [{key: "key1", value: "value1"}, {key: "key2", value: "value2"}],
storageTypes: ["indexedDB"],
function(byStorageTypeStoredItemRangeDataObj, byStorageTypeErrorObj){}
});
当然,如果你是某种形式的受虐狂,你可以忽略我的建议和处理原始API。但不要说我没有提醒你!
为了完全透明,BakedGoods由您真正维护:)。
相关问题
- 1. 客户端数据存储
- 2. 是否建议在客户端使用Web SQL数据库进行存储
- 3. Windows客户端与Web客户端
- 4. 富Web客户端与瘦客户端
- 5. 客户端数据库或数据存储
- 6. 客户端 - 服务器数据存储
- 7. 存储数据客户端的框架
- 8. 客户端本地存储的数据
- 9. 如何存储数据客户端?
- 10. 谷歌appengine数据存储客户端
- 11. ColdFusion客户端存储
- 12. 从Silverlight客户端访问SQL数据库(无Web项目)
- 13. Web客户端缓存
- 14. 从客户端创建SVN存储库。
- 15. jQuery SQlite - 客户端存储
- 16. 从客户端保存到sql server数据库
- 17. 同步客户端数据库与中央数据库
- 18. 401与Web客户端HTTPS
- 19. 存储一个PHP数组客户端
- 20. Silverlight客户端能否访问存储在独立存储中的本地sql压缩数据库
- 21. 如何在客户端使用SQLite存储在SQL Azure数据库中存储枚举?
- 22. 弹性数据库客户端库
- 23. 客户端库单元测试中的凭据存储
- 24. 存储客户端的正确信息
- 25. 将大型数据集存储在内存或客户端
- 26. 如何将数据存储在JSON Web服务中的客户端数据库中
- 27. Ajax(客户端)与PHP(服务器),加载数据库数据
- 28. androidviewclient:存储视图客户端转储
- 29. Web客户端上存储的通用应用
- 30. App Engine上的云数据存储的客户端库 - NDB或谷歌云数据存储
如果你正在寻找一些真正跨浏览器的东西,那么暂时你运气不好(直到HTML5官方无论如何)。 LocalStorage最终应该完成这项工作,但在浏览器中模拟RDBMS可能有点矫枉过正。存储_anything_客户端本质上是不安全的,因为它处于客户端的控制之下。 – Widor 2012-07-24 16:22:17