【问题标题】:Has anyone used Indexed DB? [closed]有人用过索引数据库吗? [关闭]
【发布时间】:2012-07-23 20:39:36
【问题描述】:

由于 websql 已贬值,所以我正在研究 IndexedDB 的浏览器离线存储功能,但我发现 indexedDB 在 HTML5Rocks 中显示的示例之后发生了重大设计更改(http://www.html5rocks.com/en/tutorials/ indexeddb/todo/) 和 this(http://www.kristofdegrave.be/2011/10/indexed-db-creating-opening-and.html) 是 indexedDB 的新教程。代码似乎有点复杂。我想问有没有人用它来离线存储数据?我的要求是即使没有互联网连接,我正在开发的应用程序也应该可以工作,并且当互联网连接可用时,所有数据都将同步到远程数据库。是吗可能吗?

【问题讨论】:

  • 如果您希望您的网站/应用程序在没有互联网连接的情况下也能加载,您必须使用应用程序缓存。一旦你在没有互联网连接的情况下加载了你的网页/应用程序,你就可以索引数据库和任何你想要的东西,只要它在客户端。如果您使用任何服务器端,则必须先检查互联网连接。

标签: html offline-caching indexeddb offline-browsing


【解决方案1】:

是的,您可以使用 indexedDB 来维护离线数据副本。但是在 indexedDB 上设置了特定于浏览器的大小限制。例如,Firefox 有 50MB,而 IE 有 10MB。使用超过此数量需要用户同意。

【讨论】:

  • 你能纠正我的做法吗?假设我的页面上有一个与后端数据库表完全相同的表,所以为了离线支持,我应该将后端表的整个数据复制到浏览器 indexedDB,然后任何 CRUD 操作只更改本地表,当有互联网连接时,数据将与实际的后端表同步..这是正确的方法吗?
  • 取决于表的大小。如果它将包含几千行,则在本地同步它是有意义的。否则只存储一个子集。
【解决方案2】:

目前 indexDB 仅支持 FF 和 chrome。你没有浏览器兼容性问题吗?

【讨论】:

  • 是的,这是另一个问题,因为 indexedDB 仍处于起草阶段,但很快它也会在其他浏览器中引入......
  • 多久?可能需要一年时间。它还没有标准化。所以他们可以随时改变它的行为。
  • FWIW,开发人员声称该规范的第一个版本已基本完成,并且当前版本的 Firefox 中的实现不太可能发生太大变化(Chrome 仍然落后一点)。那么 IE10 可能会支持相同的规范。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 2011-09-14
  • 2022-01-24
  • 2010-09-30
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多