Есть ли способ автоматически синхронизировать локальное хранилище html5 между компьютерами?

У меня есть простое автономное веб-приложение с одним HTML-файлом html5/javascript, которое я храню в своем Dropbox. Это своего рода инструмент для отслеживания времени, который я написал, и он сохраняет данные приложения в локальном хранилище. Так как это для моего собственного использования, мне нравится удобство автономного приложения.

Но у меня есть несколько компьютеров, и я пытался придумать какой-нибудь хакерский способ синхронизации данных этого приложения (которое в настоящее время использует локальное хранилище) между моими разными машинами.

Кажется, что хром позволяет синхронизировать данные, но только для расширений хрома. Я также подумал, что, возможно, веб-страница могла бы автоматически сохранять/загружать свои данные из файла в папке Dropbox, но, похоже, не существует способа автоматической синхронизации с определенным файлом без запроса пользователя.

Я полагаю, что «очевидным» решением является размещение страницы на сервере и сохранение данных в базе данных. Но предположим, мне не нужно решение, которое требует от меня поддерживать приложения на сервере — есть ли другой способ, пусть и хакерский, собрать синхронизацию?

Я даже какое-то время искал, чтобы узнать, есть ли поставщик, предлагающий службу веб-базы данных, где я мог бы, скажем, опубликовать/получить блок json по запросу, а затем каким-то образом синхронизировать мое автономное приложение с этой службой, но то же самое Политика -origin, похоже, делает этот план недействительным (к тому же я не смог найти такой сервис).

Есть ли хитрое/хитрое решение этой проблемы с использованием Chrome, Google Drive, Dropbox или какого-либо другого инструмента, о котором я не знаю? Или я застрял в настройке собственного сервера?


person user364902    schedule 08.05.2013    source источник
comment
Я не пробовал, но может быть возможно прочитать файл данных из локальной файловой системы с помощью ajax, если вы запустите Chrome с флагом --allow-file-access-from-files. Кроме того, это не будет на 100% офлайн, но стоит проверить: dropbox.com/developers/chooser   -  person bfavaretto    schedule 08.05.2013


Ответы (2)


По-видимому, у меня точно такая же проблема, и я тщательно ее исследовал. Лучшим выбором будет remoteStorage, если вам удастся заставить его работать. Это позволяет использовать сторонний сервер для хранения данных или запускать собственный экземпляр.

person Klaster_1    schedule 08.05.2013

Я работал над проектом, который в основном дает вам версионное локальное хранилище с поддержкой разрешения конфликтов, если один и тот же ресурс редактируется двумя разными клиентами. На данный момент нет драйверов для сервера или клиента (на данный момент они асинхронны в памяти для целей тестирования), но есть много кода и абстракции, чтобы сделать написание собственных драйверов действительно простым. .. Я даже подумывал о том, чтобы самому сделать драйвер Dropbox/Google Docs, за исключением того, что я хочу сначала сделать DynamoDB/MongoDB и Lawnchair.

Код не зависит от jQuery или каких-либо других библиотек, и для него есть довольно полная (хотя и уродливая) демонстрация.

В любом случае URL-адрес https://github.com/forbesmyester/SyncIt

person Forbesmyester    schedule 02.06.2013