База данных не создается в первый раз, когда приложение iphone загружает phonegap jquery mobile - PullRequest
0 голосов
/ 18 января 2012

У меня есть приложение для 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. Но я всегда получаю один и тот же результат.

Кто-нибудь знает, как создать базу данных при первом отображении страницы, не возвращаясь к ней?

Заранее спасибо, ребята.

...