我可以在浏览器中使用数据库吗?

时间:2013-10-30 08:45:48

标签: html database html5

我的应用程序需要使用数据库。我在网上看到某些浏览器支持数据库,但现在已弃用它们了吗?这非常令人困惑。我需要使用HTML数据库。是否可以使用HTML5数据库?

更新
当用户离线时,它需要一个数据库来存储数据。它需要支持IE 9中的主要浏览器(如果可能的话)在Mac上和桌面上的Win以及可能的Linux上。该应用程序是客户端HTML编辑器。还没有服务器端。所以我需要在客户端持久存储“文件”。此外,当我有一个服务器端时,我仍然需要保存用户没有互联网连接时的工作。之后,当他们上线时,应用程序可以与服务器端同步。我可以使用本地存储,但它的空间太有限,只有5MB。那是最大限度吗?该应用程序允许您使用图像,这些图像将保存到基本的64个数据URI资源,因此您只需几个项目即可快速占用该空间。

有些人问为什么要在客户端上找一个数据库。因为它适合这种情况,如果浏览器支持它,那么我想使用它。

4 个答案:

答案 0 :(得分:4)

您不应该在浏览器中使用数据库,即使可以,因为这可能不符合标准。但是也许可以考虑HTML5 local storage

您可以开发一些访问数据库的Web服务;该访问发生在HTTP服务器中(因此数据库在服务器中使用,而不是在浏览器中,只是间接地访问它)。

我建议您在Opa中开发您的Web应用程序,但您甚至可以使用PHP。你可以把它变成CGI或FastCGI应用程序。

顺便说一句;你没告诉我们你正在使用哪种操作系统。

你可以考虑让你的应用程序成为一些专门的HTTP服务器,例如使用WtOcsigen - 或使用某些HTTP服务器库(如libonion等 - 然后它可以访问某个数据库(如果您需要,您的应用程序可以在localhost:8086上运行到)。

PS。我认为,在客户端(在浏览器中)存储大量数据的网页是不合理的(并且违背了标准和网络精神)。您应该在服务器端存储这样的大数据(或者有一些URL从服务器下载它)。您可以决定在localhost上运行“服务器”应用程序(当然,这是特定于操作系统的)。

PPS:如果编写HTML编辑器,我不确定标准浏览器是否适合。但是,您可以使用contenteditable属性。

答案 1 :(得分:2)

登入CanIUse网站。

http://caniuse.com/#feat=sql-storage

它没有被弃用,但到目前为止并非所有浏览器都支持它。原因是它没有成为有效标准,因为所有方法都基于SQLite,而且这种方法太有限,不能被视为标准。

答案 2 :(得分:2)

是的,为indexedDB。它仍然处于开发阶段,但你可以使用它

http://www.html5rocks.com/en/tutorials/indexeddb/todo/

答案 3 :(得分:1)

  

我在网上看过某些浏览器支持数据库,但现在已弃用它们了吗?

你是对的: Web SQL数据库规范已被放弃。有一些浏览器仍然支持它,但并不多,它可能会在不久的将来完全消失。

作为替代方案,浏览器供应商正在推广名为 IndexedDB 的新规范。不足之处在于它仍然相对较新,因此您可能会有许多用户拥有不支持它的浏览器。

根据您需要存储的数据大小,您可以考虑使用 Web Storage 。这仅适用于纯文本,不能存储大量数据,但它是一个完善的标准,因此您有更好的兼容性。

如果您可以存储相对较小的数据集(即几兆字节或更少),那么这绝对是最佳选择。这肯定是我的建议;尽量保持您的离线数据要求尽可能小,并将它们保存在Web存储中。

希望有所帮助。

有关所有可用浏览器端存储选项的详细信息,请阅读this article。它给出了我上面描述的每个选项以及其他一些选项的更详细描述。