有哪些方法可以在html& amp;中实现持久,可共享的存储单独的JavaScript?

时间:2012-08-14 22:42:30

标签: javascript json html5 local-storage data-storage

修改 让我试着用一个用例来澄清。我希望能够在html / javascript页面上运行一个简单的聊天框,而无需运行我的服务器。我可以很好地编写聊天应用程序的javascript,但没有一个允许我存储数据的解决方案,以使所有浏览用户都可以看到聊天消息。因此,我的应用程序将接受数据,将其发布到第三方数据存储(理想情况下只是json格式),并定期从数据存储中轮询更新。这不是我唯一会使用这样的json存储服务/ json存储引擎,但这是最明显的例子。


我正在退出服务器端编程,因为html5走到了最前沿,并探讨我可以用html和javascript做多少,就我以前用html /实现的功能而言php / sql server stack。例如,在这个新生的html5网站上:http://tersh.royronalds.com/我正在重复使用flickr进行图像托管,并使用tumblr进行博客帖子托管。然而,就像一个例子,我现在发现自己想要编写一个动态待办事项列表,这些东西可以添加项目并在完成时勾选,并在此期间公开显示。另一个例子可能是一个简单,持久的聊天框。

例如,我没有使用ajax来推送关于聊天消息的布尔数据和文本,而是将数据存储到mysql数据库中的php脚本的更改,我很乐意将数据推送到/从第三方商店提供与localstorage API相同类型的功能,但是对于json。

所以我想使用一些公共js API的存储方法来解决这个问题,例如:一些用于存储json的方法,或者真正支持字符串和数字的任何结束格式,并且是可存储和可检索的,类似于localStorage,但持久性和可共享除外。

有哪些公共技术/解决方案适合这样的事情?

1 个答案:

答案 0 :(得分:1)

这个选项很少,即使它们不是很好,也不是很发达。

首先,与服务器端数据库关系最密切的是Web SQL数据库。这不是W3C推荐的功能(它不使用SQLite作为后端),但目前Chrome,Opera,Safari和Firefox(附加组件)支持它。

Spec

其次,我们有索引数据库API。这些仅受Chrome和Firefox支持。 (和IE 10,但谁在乎?)它与普通数据库有很大不同,但是W3C推荐的方法。

Spec

第三,我们有本地存储。这不是类似数据库的系统,它更类似于cookie。但是,这些本地存储项目比cookie更好,因为它们都是键值对(使用起来非常直观,我可能会添加)。例如:

// Store value on the browser permanently
localStorage.setItem('key', 'value');
// Retrieve value
localStorage.getItem('key');
//Remove value
localStorage.removeItem('key');
//This is just a small selection of actions you can perform

Spec
Helpful Resource

第四,你应该快速浏览离线HTML。这是一个系统,您的站点中的选择文件由浏览器下载,可以脱机使用。我不认为这对你有用,但请查看。

Spec
Helpful Guide

正如你可能会说的那样,我在最后两次比第一次经历更多。我希望无论如何我都很有帮助。