У меня есть очень простое приложение (начало большого приложения), которое на данный момент делает одну вещь. Все, что он делает, это создает новую базу данных и таблицу и вставляет одну строку данных. Проблема в том, что когда я нажимаю «обновить» в браузере, данные и таблица исчезают. Я использую Chrome и инструменты проверки разработчиков для просмотра данных в таблицах WebSQL.
У кого-нибудь было такое раньше? Что я делаю не так? Я думал, что смысл HTML5 заключается в постоянных данных, поэтому даже при обновлении БД должна оставаться. Я ошибаюсь в этом?
Вот мой простой код:
index.html
<div data-role="main" class="ui-content">
<h2>Hello</h2>
<button id="deviceReady">Device Ready</button>
<button id="resetSQL">Reset SQL</button>
</div>
Затем немного jQuery:
$(document).ready(function() {
$("#deviceReady").click(function(){
alert("device ready");
initDB();
});
$("#resetSQL").click(function () {
var db = openDatabase(dbName, dbTitle, dbVersion, dbMaxSize);
db.transaction(function(tx) {
tx.executeSql('DROP TABLE IF EXISTS creds');
tx.executeSql('DROP TABLE IF EXISTS foo');
});
});
});
Актуальная информация о БД
function initDB() {
var db = openDatabase(dbName, dbTitle, dbVersion, dbMaxSize);
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS creds (id unique, usr, psw)');
tx.executeSql('INSERT INTO creds (id, usr, psw) VALUES (1, "none", "none")');
});
}
Итак, все, что я делаю, это открываю веб-страницу, нажимаю кнопку «Устройство готово», чтобы запустить функцию initDB
. Данные отображаются в базе данных правильно, но затем, когда я обновляюсь, они исчезают.