【问题标题】:Is there any way to automatically synchronize html5 localstorage between computers有没有办法在计算机之间自动同步html5 localstorage
【发布时间】:2013-05-08 02:41:13
【问题描述】:

我有一个简单的离线 html5/javascript 单 html 文件 Web 应用程序,我存储在我的 Dropbox 中。这是我编写的一种时间跟踪工具,它将应用程序数据保存到本地存储中。由于它是供我自己使用的,我喜欢离线应用程序的便利性。

但是我有几台电脑,我一直在尝试想出任何一种巧妙的方法来在我的不同机器之间同步这个应用程序的数据(目前正在使用本地存储)。

似乎 chrome 允许同步数据,但仅限于 chrome 扩展。我还想我也许可以让网页自动从 Dropbox 文件夹中的文件保存/加载其数据,但似乎没有一种方法可以在没有用户提示的情况下自动与特定文件同步。

我认为“显而易见”的解决方案是将页面放在服务器上并将数据存储在数据库中。但是假设我不想要一个需要我在服务器上维护应用程序的解决方案 - 是否有另一种方法(无论多么老套)来拼凑同步?

我什至寻找了一段时间,看看是否有供应商提供 Web 数据库服务 - 例如,我可以按需发布/获取一个 json 数据块,然后以某种方式让我的离线应用程序与该服务同步,但是同源政策似乎使该计划无效(而且我找不到这样的服务)。

使用 chrome、谷歌驱动器、保管箱或其他我不知道的工具是否有一个棘手的/偷偷摸摸的解决方案?还是我无法设置自己的服务器?

【问题讨论】:

  • 我没有尝试,但是如果您使用 --allow-file-access-from-files 标志启动 Chrome,则可以使用 ajax 从本地文件系统读取数据文件。此外,这不会 100% 离线,但值得一试:dropbox.com/developers/chooser

标签: javascript sync offlineapps


【解决方案1】:

我一直在从事一个项目,如果同一资源最终由两个不同的客户端编辑,该项目基本上为您提供版本化的 localStorage,并支持冲突解决。目前还没有用于服务器或客户端的驱动程序(它们目前在内存中用于测试目的是异步的),但是有很多代码和抽象可以让编写自己的驱动程序真正变得容易。 .. 我什至想自己做一个 Dropbox/google 文档驱动程序,但我想先完成 DynamoDB/MongoDB 和 Lawnchair。

代码不依赖于 jQuery 或任何其他库,并且有一个非常完整的功能(虽然丑陋)的演示。

反正网址是https://github.com/forbesmyester/SyncIt

【讨论】:

    【解决方案2】:

    显然,我遇到了完全相同的问题并彻底调查了它。最好的选择是remoteStorage,如果你能成功的话。它允许使用 3rd 方服务器进行数据存储或运行您自己的实例。

    【讨论】:

      猜你喜欢
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多