При первой загрузке приложения я извлекаю данные из хранилища (тип хранилища Phonegap WebSQL). Результаты хранения PhoneGap загружаются нормально. До...
Когда я перехожу на другую страницу в приложении: <a href="page2.html" rel="external">Link</a>
Если я вернусь на эту главную страницу со второй страницы, используя window.location.href
в Javascript, я снова извлеку данные 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;
}
EDIT: теперь я заметил, что если я добавляю новую строку при первой загрузке приложения, она сохраняется в одной базе данных. Затем, если я перейду на вторую страницу, а затем вернусь на первую страницу и добавлю еще одну строку, она также сохранится, но в отдельной базе данных! (похоже, именно это она и делает) . Так странно, я вижу, как это происходит. Все мои строки сохраняются и сохраняются, но запрос возвращает другую группу результатов в зависимости от того, перешел ли я на вторую страницу или нет...
Также: На второй странице по какой-то причине возникает ошибка jQuery. Я только что создал пустую страницу со ссылкой скрипта на jQuery, а там ошибка. Странно... Интересно, эта ошибка влияет на базу данных? Я пытаюсь узнать, как решить эту ошибку.