我有一个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。但我总能得到相同的结果。
有人知道如何在页面第一次显示时创建数据库而不必返回它吗?
先谢谢你们。