Ich habe eine iPhone Web App mit jQuery & jQTouch erstellt, die die lokale SQLite-Datenbank des Mobile Safari-Browsers im iPhone nutzt.Problem mit jQuery openDatabase(): variable db ist undefined
Die App lief großartig, bis vor ein paar Tagen. Plötzlich erhalte ich die folgende Fehlermeldung angezeigt, wenn Sie versuchen, die Datenbank zu initialisieren:
TypeError: Result of expression 'db' [undefined] is not an object.
Dieser Fehler tritt beim Versuch, den folgenden Code auszuführen:
function openDB() {
db = openDatabase(dbName, '1.0', dbName);
db.transaction(
function(tx) {
tx.executeSql(
'CREATE TABLE IF NOT EXISTS energy_days ' +
' ... (omitted) ... ;',
[],
nullDataHandler,
function(tx, error){
alert('Error (CREATE TABLE): '+error.message+' (Code '+error.code+')');
return true;
}
);
},
transactionErrorHandler,
nullDataHandler
);
}
Natürlich ist die Variable db
ist global definiert.
Jetzt funktionierte dieses Codesegment. Vielleicht hat das etwas mit dem neuesten iOS 4.2 Update zu tun? Mit diesem Update wurde das gesamte Datenbankverhalten merkwürdig (z. B. sind sie in den Einstellungen nicht mehr sichtbar, bis Sie das gesamte Gerät neu starten).
Hat jemand eine Idee, wie man das beheben kann? Gibt es eine alternative Möglichkeit, ein Datenbankobjekt zu initialisieren oder fehlt mir etwas Offensichtliches?
Vielen Dank für alle Antworten, sie sind herzlich willkommen! Roland
Ja, genauer gesagt, ich nehme an, dass Sie db name anstelle der Größe der db als dritten Parameter verwendet haben. – tomdemuyt