HTML5: Можно ли указать базу данных SQlite в разделе кэша манифеста? - PullRequest
2 голосов
/ 03 мая 2010

Я хотел бы иметь возможность указать базу данных SQLite в качестве ресурса в разделе CACHE файла манифеста. Это позволило бы сценарию на странице использовать базу данных в автономном режиме.

Я не могу найти в спецификации HTML5 ничего, что говорит, что это невозможно, но у меня тоже не получилось заставить его работать.

Возможно ли это?

Ответы [ 4 ]

1 голос
/ 18 октября 2012

Это невозможно.

Вместо этого преобразуйте базу данных в объект JSON и запишите его в файл. Включите этот файл в свой манифест. На другом конце прочитайте объект JSON и создайте базу данных.

Хорошо работает!

1 голос
/ 15 августа 2010

Я немного поиграл с этим. Вот что я нашел:

Браузер (веб-кит) использует базу данных для организации баз данных Web SQL. : -)

Для Chrome это в (Mac OS X):

~/Library/Application Support/Google/Chrome/Default/databases/Databases.db

Вы можете получить доступ к этому через SQLite3 Databases.db:

Шахта выглядит так:

sqlite> select * from databases;
1|http_slides.html5rocks.com_0|DBTest|HTML5 Database API example|200000
2|http_www.html5rocks.com_0|modernizrtestdb|modernizrtestdb|20000
3|http_www.html5rocks.com_0|Todo|Todo manager|5242880
4|http_experimenting.in_0|mystorage|Web SQL Storage Demo Database|1048576
5|file__0|mystorage|Web SQL Storage Demo Database|1048576
sqlite> .quit

Файл ./file__0/5 содержит базу данных для mystorage.

Записи создаются, когда код создает базу данных opend.

Я не нашел способа создать запись в этой базе данных и дать ей путь или имя файла.

1 голос
/ 13 августа 2010

Если посмотреть на спецификацию автономного веб-приложения W3C (http://www.w3.org/TR/html5/offline.html), то, похоже, нет способа включить файлы базы данных SQLite в манифест. В противном случае, похоже, что потребуется почти все, что Путь относительно корня веб-сайта. Файлы базы данных создаются браузером в отдельном каталоге, специфичном для веб-сайта, и путь различен для разных браузеров. Моим решением было создать и загрузить базу данных при первом запуске приложения. называется - было бы намного лучше иметь возможность загрузить файл, но я не вижу способа сделать это.

0 голосов
/ 25 августа 2010

Я также нашел бесплатный инструмент, который говорит, что он решает эту проблему - у меня еще не было времени попробовать его, но похоже, что он должен сделать эту работу: http://impel.simulacre.org/blog/incrementally_synchronize_html5_databases_transparently.html

...