在不支持的浏览器中替代IndexedDB? Safari / iOS Saf-Chrome

我有一个IndexedDB的工作示例,适用于我的Desktop Chrome。 不过,我的主要目标是为iOS设备开发(Chrome-Safari),并且此API尚不可用。 我该怎么办?

我看过这个Polyfill: http : //nparashuram.com/IndexedDBShim/ 。 但是,我testing了我的iPod Touch第五代,不知怎的,第十九testing不起作用…

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

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

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

谢谢!

这是另一个类似的polyfill,你可以尝试 ,但是在我(尽pipe有限)的经验中,这两个polyfill都是bug /不完整的。 他们在GitHub上也有许多关于报告问题的开放性问题。 当我testing其中的一个(我忘记了哪一个),它比原生的IndexedDB慢得多。

也许有可能创造一个体面的polyfill,但目前似乎没有做这项工作。

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

WebSQL的问题是,它永远不会在IE或Firefox中被支持。 如果您只是针对移动浏览器,那么至less在Firefox OS或Windows Phone抢占巨大市场份额之前,您可能会放弃使用WebSQL。

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

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

不仅苹果不支持IndexedDB,他们还没有公开说任何关于它(据我所知…,我已经做了大量的search)。 这似乎很奇怪。 所以尽我所能,没有人知道苹果是否曾经计划支持IndexedDB。 我的阴谋理论家认为,也许他们试图破坏HTML5应用程序,迫使人们编写原生应用程序,但这纯属猜测。

总的来说,这让我们的开发人员陷入了一个相当糟糕的境地。 没有好的跨平台解决scheme。 我build议你向苹果公司抱怨。 这就是我所做的,并且我已经要求我的用户在iOS上使用基于IndexedDB的应用程序来执行相同的操作。 苹果仍然没有任何消息。

更新 – 现在,在WWDC 2014中所述的iOS 8中支持Indexeddb,但不幸的是, 它已经被打破了 。

看起来像IndexedDB不作为Web应用程序(固定到主屏幕)。 在Safari中工作。