在应用程序的第一次加载时,我从存储(Phonegap 的 WebSQL 存储类型)中检索数据。Phonegap 存储结果加载正常。直到...
当我转到应用程序中的另一个页面时:
<a href="page2.html" rel="external">Link</a>
如果我使用 Javascript 从第二页返回到该主页window.location.href
,我将再次检索 WebSQL 数据(与以前的功能相同)。
Phonegap Storage 调用成功函数(无错误),但结果集为空。它似乎是从我没有存储任何内容的第二个数据库加载的(请参阅下面的编辑)。
如果我强制退出应用程序并重新打开,存储再次加载正常,这表明数据库中的结果没有被删除。
ondeviceready
我在被解雇后加载存储。有什么问题?
注意:
1. 这不会发生在模拟器上。仅在真正的Android 4.0 设备上发生。
2.这个应用程序使用jQuery / jQuery Mobile。
function ondeviceready() {
db = window.openDatabase("test", "1.0", "test DB", 2000000);
// . . . //
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM table ORDER BY name', [], querysuccess, function(tx, e) {
errorAlert();
});
}), errorCB;
}
编辑:我现在注意到,如果我在第一次加载应用程序时添加一个新行,它将存储在一个数据库中。然后,如果我转到第二页然后回到第一页,我添加另一行,它也存储,但在一个单独的数据库中!(这就是它似乎正在做的事情)。太奇怪了,我看到这种情况发生了。我所有的行都被保存和持久化,但是查询返回一组不同的结果,具体取决于我是否转到第二页......
另外: 由于某种原因,第二页出现了 jQuery 错误。我刚刚创建了一个带有 jQuery 脚本链接的空白页面,但出现了错误。奇怪...不知道这个错误是否影响数据库?我正在尝试发现如何解决此错误。