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

Alternative to IndexedDB in not supported browsers? Safari/iOS Saf-Chrome

本文关键字:Safari iOS Chrome IndexedDB 不支持 浏览器      更新时间:2023-09-26

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

我看过这个Polyfill:http://nparashuram.com/IndexedDBShim/.但是,我用我的iPod Touch第五代进行了测试,不知怎么的,第19次测试不起作用。。。

我应该使用被弃用的WebSQL吗

我喜欢Polyfill的想法,但它对我不起作用…

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

谢谢!

这里有另一个类似的polyfill,您可以尝试,但根据我的经验(尽管有限),这两个polyfill都有缺陷/不完整。他们在GitHub上也有许多悬而未决的问题,人们都在报告问题。当我测试其中一个(我忘了是哪一个)时,它比原生IndexedDB慢得多。

也许可以制造出一种像样的填充物,但目前的填充物似乎没有起到作用。

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

WebSQL的问题是它永远不会在IE或Firefox中得到支持。如果你只针对移动浏览器,你可能会逃脱WebSQL的惩罚,至少在Firefox OS或Windows Phone占据巨大市场份额之前是这样。

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

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

苹果不仅不支持IndexedDB,他们也没有公开说过任何关于它的事情(据我所知……我已经做了相当多的搜索)。这看起来很奇怪。因此,据我所知,没有人知道苹果是否计划支持IndexedDB。我心中的阴谋论者认为,也许他们试图破坏HTML5应用程序,迫使人们编写本地应用程序,但这纯属猜测。

总的来说,这让我们的开发人员陷入了一个相当糟糕的境地。没有好的跨平台解决方案。我建议你向苹果投诉。这就是我所做的,我已经要求那些想在iOS上使用我的基于IndexedDB的应用程序的用户也这样做。仍然没有苹果的消息。

更新-Indexedb现在在iOS 8中得到支持,正如WWDC 2014中所说的那样,但不幸的是,它坏得很厉害。

看起来IndexedDB没有作为web应用程序工作(固定在主屏幕上)。适用于Safari。

IndexedDB从未被开发人员直接使用。它更像是一个API,可以用来构建一个;真实的";数据库。现在有很多替代品可以代替。

  • NeDB大量使用,但已弃用
  • PouchDB
  • RxDB

如果你仍然需要使用IndexedDB,至少我建议你使用像dexie.js这样的包装器,这至少会让它更容易。