アプリの最初の読み込みで、ストレージ (Phonegap の WebSQL ストレージ タイプ) からデータを取得します。Phonegap ストレージの結果は正常に読み込まれます。それまで...
アプリの別のページに移動すると:
<a href="page2.html" rel="external">Link</a>
Javascriptを使用して 2 ページ目からメイン ページに戻るとwindow.location.href
、WebSQL データを再度取得します (以前と同じ機能)。
Phonegap Storage は成功関数 (エラーなし) を呼び出しますが、結果セットは空です。何も保存していない2番目のデータベースからロードしているようです(以下の編集を参照)。
アプリを強制終了して再度開くと、ストレージが再び正常に読み込まれ、DB の結果が削除されていないことがわかります。
起動後にストレージをロードします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;
}
編集:アプリが最初に読み込まれたときに新しい行を追加すると、1 つのデータベースに保存されることに気付きました。次に、2 番目のページに移動してから最初のページに戻り、別の行を追加すると、それも保存されますが、別のデータベースに保存されます。(それがやっているようです)。とても奇妙です、私はこれが起こっているのを見ます。すべての行は保存されて永続的ですが、2 番目のページに移動したかどうかに応じて、クエリは異なるグループの結果を返します...
また: 2 番目のページには、何らかの理由で jQuery エラーが発生しています。jQuery へのスクリプト リンクを含む空白のページを作成したところ、エラーが発生しました。奇妙な...このエラーはデータベースに影響を与えているのでしょうか? このエラーを解決する方法を見つけようとしています。