13

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

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

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

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

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

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

4

2 回答 2

6

I have been working on a Project that basically gives you versioned localStorage with support for conflict resolution if the same resource ends up being edited by two different clients. At this point there are no drivers for server or client (they are async in-memory at the moment for testing purposes) but there is a lot of code and abstraction to make writing your own drivers really easy... I was even thinking of doing a dropbox/google docs driver myself, except I want DynamoDB/MongoDB and Lawnchair done first.

The code is not dependent on jQuery or any other libraries and there's a pretty full features (though ugly) demo for it as are well.

Anyway the URL is https://github.com/forbesmyester/SyncIt

于 2013-06-02T20:05:31.273 回答
4

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

于 2013-05-08T03:44:14.970 回答