2012-06-11 116 views
7

对于Chrome,我可以使用IndexedDB和WebSQL,对于Firefox,我可以使用IndexedDB,那么IE呢?我开发了一个使用WebSQL的应用程序,它在桌面版Chrome和Safari,iOS Safari和Android浏览器上运行良好。接下来,我想将它移植到Desktop Firefox和IE。我正在考虑IndexedDB,但发现IE并不真的支持它。我有什么替代方案?IE是否支持indexedDB,WebSQL或类似于SQLite的数据库?

+0

您需要支持哪些版本的IE? – Spudley

回答

7

IE10支持IndexedDB。您也可以在IE8 +中使用localStorage。对于较早的版本,您可以使用专有的userData行为:http://www.javascriptkit.com/javatutors/domstorage2.shtml

请注意,WebSQL数据库已弃用且不再维护规范。

+0

大多数IE用户现在都在IE8或IE9上,所以IndexDB没有帮助。 localStorage不支持SQLite查询,所以我不得不重写我的应用程序不要使用本地数据库? WebSQL被折旧了,但它是目前唯一可以在桌面版Chrome,Safari和移动设备上运行的东西。我会喜欢使用IndexedDB,但我没有看到任何移动支持计划。情况并非如此吗? – netmobile

+0

没有宣布计划,没有。 Chrome中的IDB由LevelDB提供支持,因此他们可能必须先在Android上获得该功能,然后才能看到Google向移动WebKit提供该功能。 FF是SQLite支持的,所以这可能很适合Android。谁知道是否会有iOS支持。无论如何,Apple似乎都不会喜欢Apple本身的应用程序模式。 – buley

3

正如杜里笔记WebSQL已经被称为厄运**,但它往往是跨平台本地存储的唯一实用技术 - 尤其是在处理移动时。

IE does not support WebSQL,并且由于编写规范的人无法就实现达成协议,所以您很可能不会很快看到实现。 IE10还不是主流,因此IndexedDB也不是。 (此外,IndexedDB在Chrome(旧版本)和FF(新版本)中有两种不同的实现方式,这使得它在开发时并不完全稳定。)

localStorage is the only truly cross platform option,移动Opera是唯一的非实现者。根据我的经验,您不应该指望它在中等或更大尺寸的数据集上表现良好。

**与围绕剧院的“McBeth”一样,我会要求您从不在任何IndexedDB实现附近说出这些词语:“Web SQL数据库规范不再被维护,并且在将来的版本中可能会丢弃支持。

+0

我倾向于认为WebSQL将比所有关于被弃用的讨论都要长得多,仅仅因为它可以工作,而且如果您需要移动设备,它也是唯一的实用技术。只是没有看到任何浏览器制造商很快就将其删除。 – netmobile

+0

完全同意。人们引用厄运的规范,但千万不要谈论经常添加但很少删除的代码。 – buley

0

谷歌Chrome团队一直非常支持IndexedDB,所以我期望Chrome for Android尽快得到它,如果他们还没有。 Android不需要LevelDB“支持”,它只是另一个类似Chrome使用的其他库。

相关问题