有哪些方法可以在html和javascript中实现持久,可共享的存储

What ways are there to achieve persistent, shareable storage in html & javascript alone?

本文关键字:实现 共享 存储 方法 html javascript      更新时间:2023-09-26

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


随着html5的出现,我正在稍微

放弃服务器端编程,并探索我可以用html和javascript做多少事情,就我以前必须使用html/php/sql服务器堆栈实现的功能而言。 例如,在这个新生的html5网站上:http://tersh.royronalds.com/我正在重用flickr进行图像托管,将tumblr用于博客文章托管。 但是,举个例子,我现在发现自己想要编写一个动态待办事项列表,可以在其中添加项目并勾选已完成,并在此期间公开显示。 另一个示例可能是一个简单的持久聊天框。

例如,与其使用 ajax 将有关聊天消息和更改的布尔数据和文本推送到 php 脚本,然后将数据存储在 mysql 数据库中,我很乐意将数据推送到/拉取第三方存储,该存储提供与本地存储 API 相同类型的功能, 但对于 JSON 来说。

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

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

这几乎没有选择,即使它们不是很好,或者发展得很好。

首先,与服务器端数据库最密切相关的是 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。这是一个系统,浏览器中的选定文件由浏览器下载,并且可以离线使用。我认为这对你没有用,但请检查一下。

规范
有用的指南

正如你可能知道的,我在最后两个中的经验比第一个更多。无论如何,我希望我有帮助。