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

the*_*oon 11 javascript safari google-chrome ios indexeddb

我有一个使用IndexedDB的工作示例,非常适合我的桌面Chrome.尽管如此,我的主要目标是为iOS设备(Chrome-Safari)开发,但目前还没有此API.我该怎么办?

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

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

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

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

谢谢!

dum*_*ter 17

这是您可以尝试的另一种类似的polyfill,但在我(虽然有限)的经验中,两种polyfill都是错误/不完整的.他们在GitHub上也有很多关于报告问题的人的未解决问题.当我测试其中一个(我忘记了哪一个)时,它明显慢于原生的IndexedDB.

也许有可能创造一个像样的polyfill,但目前似乎没有做这个工作.

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

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

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

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

Apple不仅不支持IndexedDB,还没有公开表达任何相关内容(据我所知......我做了相当多的搜索).这看起来很奇怪.所以我可以说,没有人知道Apple是否计划支持IndexedDB.我的阴谋理论家认为他们可能会试图破坏HTML5应用程序以迫使人们编写本机应用程序,但这纯粹是猜测.

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

更新 - 现在支持iOS 8中的Indexeddb,如WWDC 2014所述 - 但不幸的是它已经破坏了很多.