9

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


随着 html5 走到最前沿,我正在稍微远离服务器端编程,并探索我可以用 html 和 javascript 做多少,就我以前必须用 html/php/sql 实现的功能而言服务器堆栈。例如,在这个新生的 html5 网站上: http: //tersh.royronalds.com/我正在重用 flickr 来托管图片,而 tumblr 来托管博客文章。然而,作为一个例子,我现在发现自己想要编写一个动态的待办事项列表,其中可以添加项目并将其标记为已完成,并在此期间公开显示。另一个例子可能是一个简单的、持久的聊天框。

例如,我不想使用 ajax 推送布尔数据和有关聊天消息的文本以及对 php 脚本的更改,然后将数据存储在 mysql 数据库中,我更愿意将数据推送到第三方或从第三方拉取数据store 提供与 localstorage API 相同类型的功能,但用于 json。

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

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

4

1 回答 1

1

即使它们不是很好或发展良好,也很少有选择。

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

规格

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

规格

第三,我们有本地存储。这不是一个类似数据库的系统,它更类似于 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

规范
有用的资源

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

规范
帮助指南

正如你可能会说的,我在最后两个方面的经验比第一个要多。无论如何,我希望我有所帮助。

于 2012-08-15T02:09:49.183 回答