Можно ли загрузить базу данных SQLite для локального использования через HTML5 в автономном режиме? - PullRequest
3 голосов
/ 08 марта 2012

Я рассматриваю возможность создания HTML5 приложения, которое потребовало бы загрузки базы данных SQLite с сервера и последующего доступа к этой базе данных локально для обращения к данным в автономном режиме.

Возможно лискачать предварительно заполненную базу данных SQLite и получить к ней локальный доступ с помощью HTML5?Я не смог найти ни одного примера или учебника по этому вопросу.

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

Когда в сети приложение HTML5 должно иметь возможность проверять сервер на наличие обновлений, перестраивать кэш манифеста и обновлятьснова база данных ...

Ответы [ 2 ]

3 голосов
/ 08 марта 2012

HTML5 и SQLite - это не одно и то же.Функции автономного хранения и Web SQL в HTML5 используют реализации с SQLite, но не все реализации будут использовать SQLite.

При этом краткий ответ будет следующим: нет.

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

1 голос
/ 08 марта 2012

Существует спецификация базы данных Web SQL , которая предоставляет SQL-подобный интерфейс, но, к сожалению, она больше не находится под активным обслуживанием.Тем не менее, он реализован в Chrome, Opera и Safari (http://en.wikipedia.org/wiki/Web_SQL_Database).). Вот учебник по веб-базам данных .

Возможная альтернатива, если ваша база данных меньше 5 МБ (http://dev.w3.org/html5/webstorage/#disk-space) и вы можете сделать что-то с помощью словаря / массива / хэш-карты), это использовать локальное хранилище .

Итак, если ваш браузер поддерживает локальное хранилище, идея состоит в том, чтобы хранить вашу базу данных в виде строки JSON в локальном хранилище (локальное хранилище может хранить только строки) и всякий раз, когда вам нужен доступ к загружаемым данным, которые вы анализируете.следующие инструменты:

// Test if you browser supports local storage
'localStorage' in window && window['localStorage'] !== null;

// Store value in local storage
localStorage.setItem(key, value);

// Load value from local storage
localStorage.getItem(key);

// Parse JSON to JavaScript object
JSON.parse('{"name":"John"}');

// Convert JavaScript object to JSON
JSON.stringify({"name":"John"})

Большинство современных браузеров имеют встроенную поддержку JSON. Для более старых браузеров имеется отличная библиотека JSON-js .

...