2013-05-08 10 views
13

私は自分のDropboxに保存する簡単なオフラインhtml5/javascriptのシングルhtmlファイルWebアプリケーションを持っています。これは、私が書いた時間トラッキングツールの一種で、アプリケーションデータをローカルストレージに保存します。私自身のために、私はオフラインアプリの利便性が好きです。コンピュータ間でhtml5 localstorageを自動的に同期させる方法はありますか?

私はいくつかのコンピュータを持っていますが、私はさまざまなマシン間でこのアプリケーションのデータ(現在ローカルストレージを使用しています)を同期させるためのあらゆる種類のハックを思いついています。

クロムはデータの同期を可能にすると思われますが、クロムの拡張機能の場合にのみ有効です。また、Webページにドロップボックスフォルダ内のファイルからデータを自動的に保存/ロードすることもできますが、ユーザーの確認なしに特定のファイルと自動的に同期する方法はないようです。

「明白な」解決策は、ページをサーバーに配置し、そのデータをデータベースに格納することです。しかし、私がサーバー上でアプリケーションを維持する必要があるソリューションを望んでいないとします。しかし、ハッキーで同期を合わせるために別の方法がありますか?

ウェブデータベースサービスを提供しているベンダーがあるかどうかを調べていても、オンデマンドでjsonの投稿や投稿をしたり、オフラインアプリをこのサービスと同期させることができます同じ起源の方針がその計画を無効にしているように思えます(そして、そのようなサービスを見つけることができなかったのです)。

Chrome、Googleドライブ、Dropbox、または私が認識していないツールを使用して、この問題に対処するトリッキーな方法がありますか?または私は自分のサーバーをセットアップしていますか?

+0

私は試していないが、あなたが '--allow-ファイルアクセス-からでChromeを起動した場合、AJAXを使用してローカルファイルシステムからのデータファイルを読み込むことも可能です-files'フラグ。また、これは100%オフラインではありませんが、チェックアウトする価値はあります:https://www.dropbox.com/developers/chooser – bfavaretto

答えて

3

明らかに、私はまったく同じ問題を抱えており、それを徹底的に喚起しました。最良の選択肢はremoteStorageです。サードパーティのサーバを使用してデータを保存したり、独自のインスタンスを実行したりすることができます。

5

私は、同じリソースが2つの異なるクライアントによって編集されると、基本的にはバージョン管理されたlocalStorageに競合解消のサポートを提供するプロジェクトに取り組んでいます。この時点では、サーバやクライアント用のドライバはありません(テスト時には非同期のメモリ内にあります)。自分のドライバを書くためのコードと抽象化がたくさんあります。は簡単に ...私はDynamoDB/MongoDBとLawnchairを最初にやりたかったのを除いて、Dropbox/Google Docsドライバーを自分でやることを考えていました。

コードはjQueryやその他のライブラリに依存していないし、かなり完全な機能(醜いですが)もあります。

はとにかくURLですhttps://github.com/forbesmyester/SyncIt

関連する問題