Sencha Touch - 客户端存储大型数据库是否可行?

3
我希望能够在客户端上存储一些数据,不是大量的数据,但也不是微不足道的。基本上,我想使用 Web 技术在客户端上使用类似 SQLite 数据库的东西。这个应用程序是一个外语词典,所以我希望在应用程序下载后可以访问这些数据。
使用 Sencha Touch 或任何 JavaScript/HTML5 技术是否可能实现这一点?
2个回答

1

根据目标浏览器,有几个选项可供选择:

  • localStorage(具有跨浏览器向后兼容到IE8的优点)
  • WebSQL(已弃用)
  • IndexedDB
  • 应用程序缓存(这对于数据存储来说有些牵强,但是它/可以/完成)

所有这些技术都有存储限制,其中一些在浏览器之间有所不同,为了使事情更加复杂,有些会让用户选择允许扩展存储上限。

我使用过localStorage并取得了良好的结果,并使用JavaScript压缩库(http://code.google.com/p/jslzjb/),您可以获得一些存储优势(尽管根据我的经验,不是很多。如果您的限制是5MB,而您的大小为5.5MB,则压缩可能会帮助您解决问题)。


0

是的,它可以。唯一的问题是什么类型的数据,但您可以存储任何内容。

如果它是大量文本/对象数据,则可以使用localstorage。不确定字典有多大,但那可能是一个非常简单的解决方案。您可以将字典下载到客户端,然后使用JSON.stringify()将数据转换为文本(字符串),并且本地存储可以存储和检索它。

帮助链接,还提供了其他选项,包括数据库选项: http://www.html5rocks.com/en/tutorials/offline/storage/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接