У меня есть приложение для Iphone, которое зависит от базы данных HTML, создаваемой при каждом запуске приложения. Для создания базы данных используется следующий код:
$('#Startup0').live('pageshow',function(event, ui){
try {
html5sql.openDatabase("app_db", "App Database", 256*1024);
$.get('js/milestones.sql',function(sql){
html5sql.process(
sql,
function(){ //Success
console.log("Table Created");
},
function(error, failingQuery){ //Failure
console.log("Table Not Created");
}
);
});
}
catch (error) {
console.log("Error: " + error.message);
}
});
milestones.sql содержит все необходимые запросы для создания таблицы и вставки записей.
Когда я проверяю это в браузере, он работает как шарм. Теперь, когда я захожу на симулятор Iphone или на симулятор Android, база данных не создается, пока я не посещаю страницу индекса во второй раз. К вашему сведению, БД создается только на странице индекса.
Я использовал все события страницы, которые есть у Jquery Mobile: pagebeforeshow, pageshow, pagebeforecreate, pagebeforeload, pageload, pagebeforechange, pagechange, pageinit. Но я всегда получаю один и тот же результат.
Кто-нибудь знает, как создать базу данных при первом отображении страницы, не возвращаясь к ней?
Заранее спасибо, ребята.