2013-10-30 94 views
1

我的应用程序需要使用数据库。我在线阅读了某些浏览器支持的数据库,但现在已被弃用?这很混乱。我需要使用HTML数据库。是否可以在HTML5中使用数据库?我可以在浏览器中使用数据库吗?

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

有人问为什么要去客户端的数据库。因为适合这种情况,如果浏览器支持它,我想使用它。

+2

**为什么**你的应用程序需要一个数据库? – Philipp

+1

我认为你的意思是**本地存储**(HTML5功能) – Houssni

+1

在哪种操作系统上以及使用哪种语言开发应用程序? –

回答

1

我在线阅读过某些浏览器支持的数据库,但现在已被弃用?

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

作为一种替代方案,一个名为IndexedDB的新规格现在正在被浏览器供应商推广。不利的一面是它还是比较新的,因此你可能会有很多用户不支持浏览器。

取决于您需要存储的数据大小,您可以考虑使用网络存储。这仅仅是为了纯文本,并且不能存储大量的数据,但它是一个行之有效的标准,所以你有更好的兼容性。

如果你可以放弃存储一个相对较小的数据集(即几兆字节或更少),那么这绝对是最好的选择。这当然是我的建议;尽量保持您的离线数据要求尽可能小,并将其保留在Web存储中。

希望有所帮助。

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

2

入住CanIUse网站。

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

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

2

是去索引DB。它仍处于发展阶段,但你可以用它

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

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

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

我建议在Opa开发你的web应用程序,但你甚至可以使用PHP。你可以将它制作成CGI或FastCGI应用程序。

BTW;你没有告诉我们你正在使用哪种操作系统。

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

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

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

+0

轻松查看,当用户处于脱机状态时,我需要支持该数据。而Cookie和本地存储空间不足以提供足够的存储空间。 Web SQL和IndexDB看起来都支持高达25MB,而本地存储为5MB。是的,我将主要使用HTTP。这是需要离线支持的备份。 –

+0

请确定“用户离线”对您意味着什么。请修改您的问题以改进它。 –

+0

用户离线时,他们没有互联网连接。我正在使用Mac。我计划将来将数据存储在服务器上。我已经更新了这个问题。 –

相关问题