Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有哪些方法可以在html&;中实现持久、可共享的存储;单独使用javascript?_Javascript_Json_Html_Local Storage_Data Storage - Fatal编程技术网

有哪些方法可以在html&;中实现持久、可共享的存储;单独使用javascript?

有哪些方法可以在html&;中实现持久、可共享的存储;单独使用javascript?,javascript,json,html,local-storage,data-storage,Javascript,Json,Html,Local Storage,Data Storage,编辑: 让我试着用一个用例来说明。我希望能够在html/javascript页面上运行一个简单的聊天框,而不必运行我自己的服务器。我可以很好地编写聊天应用程序的javascript,但没有一个解决方案允许我存储数据,使所有浏览用户都能看到聊天消息。因此,我的应用程序将接受数据,将其发布到第三方数据存储(最好是json格式),并定期从数据存储轮询更新。这不是我使用json存储服务/json存储引擎的唯一目的,但它是最清晰的示例 随着html5的出现,我稍微远离了服务器端编程,并探索了仅使用htm

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


随着html5的出现,我稍微远离了服务器端编程,并探索了仅使用html和javascript就我以前必须使用html/php/sql server堆栈实现的功能而言我能做多少。例如,在这个新兴的html5网站上:我将flickr用于图像托管,tumblr用于博客文章托管。然而,就像一个例子,我现在发现自己想要编写一个动态待办事项列表,在这个列表中可以添加项目,并在完成时打勾,并在这段时间内公开显示。另一个例子可能是一个简单、持久的聊天框

例如,我不想使用ajax将有关聊天消息的布尔数据和文本推送到php脚本,然后将数据存储在mysql数据库中,而是希望将数据推送到或从第三方存储中拉出,该第三方存储提供了与localstorage 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。这是一个通过浏览器下载站点中的选定文件并可脱机使用的系统。我不认为这对你有用,但请检查一下



正如你可能知道的那样,我在过去两个月里比第一个月有更多的经验。我希望我能帮上忙。

基本上,你只需要能够使用js在数据库中读写就行了?也许可以试试google drive sdk()?我猜,无论你使用什么公共通用的东西,都比建立一个简单廉价的共享hosing环境,用几行代码来封装数据库要复杂得多。在现代网站中,后端只不过是json泵而已,但它们仍然存在……是的,网站上只有js。显然,存储引擎可以是第三方服务器上需要的任何东西,尽管我希望它不必太复杂。我会查一下谷歌硬盘,看看它是否能满足我的需求。是的,我希望使用其他人的api实现起来会更复杂,这意味着我不必在每个站点实例的服务器上运行php/apache/mysql甚至node.js/mongodb,而且该站点所面向的个人可以在任何托管静态html文件的地方托管页面,同时仍然具有强大的功能。是的,我熟悉自助存储,有人提醒我可用的选项很好,我特别喜欢localStorage,它非常适合保存设置,但当然不是可共享的。解释我试图解决的问题类型示例的一个很好的用例是编写一个对所有用户可见的非常简单的聊天框,而不运行完整的服务器堆栈来保存几行聊天。