2

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

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

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

4

4 回答 4

4

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

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

我建议在Opa中开发您的 Web 应用程序,但您甚至可以使用 PHP。您可以将其设为 CGI 或FastCGI应用程序。

顺便提一句; 您没有告诉我们您使用的是哪个操作系统。

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

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

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

于 2013-10-30T08:47:49.607 回答
2

检查 CanIUse 网站。

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

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

于 2013-10-30T08:47:01.660 回答
2

是的去索引数据库。它仍处于开发阶段,但您可以使用它

http://www.html5rocks.com/en/tutorials/indexeddb/todo/
于 2013-10-30T08:47:15.593 回答
1

我在网上读到某些浏览器支持数据库,但它们现在已被弃用?

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

作为替代方案,浏览器供应商现在正在推广一个名为IndexedDB的新规范。不利的一面是它仍然相对较新,因此您可能会有很多用户的浏览器不支持它。

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

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

希望有帮助。

有关所有可用浏览器端存储选项的详细介绍,您应该阅读这篇文章。它对我上面描述的每个选项以及其他一些选项进行了更详细的描述。

于 2013-10-30T09:59:42.070 回答