对于 Chrome,我可以使用 IndexedDB 和 WebSQL,对于 Firefox,我可以使用 IndexedDB,IE 呢?我开发了一个使用 WebSQL 的应用程序,它在桌面 Chrome 和 Safari、iOS Safari 和 Android 浏览器上运行良好。接下来,我想将它移植到桌面 Firefox 和 IE。我正在考虑 IndexedDB,但发现 IE 并不真正支持它。我有什么选择?
3 回答
IE10 支持IndexedDB
. 您也可以localStorage
在 IE8+ 中使用。对于旧版本,您可以使用专有userData
行为:http ://www.javascriptkit.com/javatutors/domstorage2.shtml
请注意,不推荐使用 WebSQL 数据库,并且不再维护规范。
正如 duri 所说,WebSQL 被赋予了厄运**的咒语,但它通常是跨平台本地存储的唯一实用技术——尤其是在处理移动设备时。
IE 不支持 WebSQL,并且由于编写规范的人无法就实现达成一致,因此您不太可能很快看到实现。IE10 还不是主流,所以 IndexedDB 也不是。(此外,IndexedDB 在 Chrome(旧)和 FF(新)中存在两种不同的实现,这使得它甚至无法完全稳定地进行开发。)
localStorage 是唯一真正跨平台的选项,移动 Opera 是唯一的非实现者。根据我的经验,你不应该指望它在中型或大型数据集上表现良好。
** 与剧院周围的“McBeth”一样,我会要求您永远不要在任何 IndexedDB 实现附近说这些话:“Web SQL 数据库规范不再得到维护,未来版本中可能会放弃支持。”
google chrome 团队一直非常支持 IndexedDB,所以我希望 Chrome for Android 如果他们还没有它的话,很快就会得到它。在 Android 中不需要“支持”LevelDB,它只是 Chrome 使用的另一个库,就像许多其他库一样。