【问题标题】:Alternative to IndexedDB in not supported browsers? Safari/iOS Saf-Chrome在不支持的浏览器中替代 IndexedDB? Safari/iOS Saf-Chrome
【发布时间】:2013-12-04 21:55:45
【问题描述】:

我有一个 IndexedDB 工作示例,非常适合我的桌面 Chrome。尽管如此,我的主要目标是为 iOS 设备 (Chrome-Safari) 开发,并且该 API 尚不可用。 我该怎么办?

我见过这个 Polyfill:http://nparashuram.com/IndexedDBShim/。但是,我用我的 iPod Touch 第 5 代对其进行了测试,不知何故第 19 次测试不起作用......

我应该使用已弃用的 WebSQL 吗?

我喜欢 Polyfill 的想法,但它不适合我...

是否有计划在未来为所有不支持的浏览器支持 IndexedDB?

谢谢!

【问题讨论】:

  • 但是我需要以某种排序方式存储大量数据...

标签: javascript ios google-chrome safari indexeddb


【解决方案1】:

Here is another similar polyfill you can try,但根据我(尽管有限)的经验,这两个 polyfill 都是错误的/不完整的。他们在 GitHub 上也有许多未解决的问题,人们报告问题。当我测试其中一个时(我忘了是哪一个),它比原生 IndexedDB 慢得多。

也许可以创建一个像样的 polyfill,但目前的 polyfill 似乎无法胜任。

我应该使用已弃用的 WebSQL 吗?

WebSQL 的问题在于它永远不会在 IE 或 Firefox 中得到支持。如果您只针对移动浏览器,您可能会摆脱 WebSQL,至少在 Firefox OS 或 Windows Phone 抢占重要市场份额之前。

是否有计划在未来为所有不支持的浏览器支持 IndexedDB?

让我们说清楚。你问的是苹果,因为其他人都在他们最新的浏览器中支持 IndexedDB(iOS Chrome 使用苹果的渲染引擎,因为苹果不会让他们做任何其他事情)。

Apple 不仅不支持 IndexedDB,他们还没有公开发表任何关于它的信息(据我所知......而且我已经进行了大量搜索)。这看起来很奇怪。因此,据我所知,没有人知道 Apple 是否计划支持 IndexedDB。我心中的阴谋论者认为他们可能是在试图破坏 HTML5 应用程序以迫使人们编写原生应用程序,但这纯粹是猜测。

总的来说,这让我们的开发人员处于非常糟糕的境地。没有好的跨平台解决方案。我建议您向 Apple 投诉。这就是我所做的,我已经询问了想要在 iOS 上使用我的基于 IndexedDB 的应用程序的用户也这样做。仍然没有来自 Apple 的消息。

更新 - 如 WWDC 2014 所述,iOS 8 现在支持 Indexeddb - 但不幸的是 it's broken pretty badly

【讨论】:

  • 我也同意 Apple 故意破坏 HTML5 应用程序以强制使用其原生应用程序的阴谋论。这里chromestatus.com/features/6507459568992256 将 safari 记录为“公众怀疑”,之前是“公众反对”。我不认为苹果会在几年内实现 IndexedDB。 Safari 中的 websql 在配额授予上有错误。
  • 感谢两位!是的,我说的是苹果……他们总是在我的路上放石头……这次是大石头……我也没有从苹果那里看到任何关于 IndexedDB 的信息。我在哪里可以投诉?
  • @KyawTun ,配额授予是什么意思?万一我只关心Apple,WebSQL不是要走的路吗?是否有其他方法可以在浏览器中存储大量已排序的数据?
  • 对于 ios 配额授予问题,请参见此处bitbucket.org/ytkyaw/ydn-db/issue/76/… 我没有看到适用于 ios 的 websql 的替代方案
  • Can i use 表明它将在 Safari 8 中得到支持。但我找不到任何来源。苹果有反馈吗?
【解决方案2】:

看起来 IndexedDB 不能作为网络应用程序(固定在主屏幕上)。 在 Safari 中工作。

【讨论】:

    【解决方案3】:

    NeDB 是 IndexedDB 的最佳替代品。它是一个像 MongoDB 一样具有查询功能的 noSQL 数据库。用于浏览器的嵌入式持久或内存数据库,100% JavaScript,无二进制依赖。 API 是 MongoDB 的一个子集,而且速度非常快。

    【讨论】:

      猜你喜欢
      • 2015-09-26
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 2016-08-15
      • 2016-06-07
      • 2020-12-26
      • 1970-01-01
      • 2013-04-01
      相关资源
      最近更新 更多