当在iPad下执行Phonegap app的示例代码时,会创建表以及插入记录。但是一旦它使用" window.location =' main.html'"导航到下一页。表格消失/删除。一段时间它正常工作,所有记录都显示在main.html上。示例代码:
db.transaction(function (transaction) {
transaction.executeSql('drop table if exists categoryType', null, function () {
transaction.executeSql('create table if not exists categoryType(id text primary key, code text, name text)', null, function () {
for (var i = 0; i < category_types.length; i++)
{
var insert_count = 0;
transaction.executeSql('insert into categoryType(id, code, name) values(?,?,?)', [category_types[i].id, category_types[i].code , category_types[i].name],
function()
{
insert_count++;
if ( insert_count == category_types.length)
window.location = "main.html";
});
}
});
});
});
如果我们在导航到main.html页面问题之前在上面的代码中添加了超时,那么问题就解决了。 带超时的示例代码:
db.transaction(function (transaction) {
transaction.executeSql('drop table if exists categoryType', null, function () {
transaction.executeSql('create table if not exists categoryType(id text primary key, code text, name text)', null, function () {
for (var i = 0; i < category_types.length; i++)
{
var insert_count = 0;
transaction.executeSql('insert into categoryType(id, code, name) values(?,?,?)', [category_types[i].id, category_types[i].code , category_types[i].name],
function()
{
insert_count++;
if ( insert_count == category_types.length)
{
setTimeout(function() {
window.location = "main.html";
}, 5000);
}
});
}
});
});
});
我可以使用超时成功运行代码,但我不想依赖任意超时时间。早些时候,相同的代码工作正常,但现在它最近引起了问题。有没有解决方案??