2011-10-27 4 views
1

に入っていない:書類準備に呼び出されHTML5/JS SQLiteのデータベースは、私はjavascript関数を以下しているトランザクション機能

function initDatabase() { 

    if (!window.openDatabase) { 
     alert('Databases not supported in this browser'); 
    } else { 
     var shortName = 'TestDB'; 
     var version = '1.0'; 
     var displayName = 'HTML5 Test Database'; 
     var maxSize = 1024 * 1024; 
     db = openDatabase(shortName, version, displayName, maxSize); 
     alert('opened db ' + db); //this says its a database 

     db.transaction(function (tx) { 
      alert('before create'); //never gets here 
      tx.executeSql('CREATE TABLE IF NOT EXISTS Person(FirstName TEXT, MiddleName TEXT, LastName TEXT);'); 
      alert('after create'); 
     }); 

     alert('after transaction'); //does get here 
    } 
} 

:あなたがコメントからわかるように

$(document).ready(function() { 
     initDatabase(); 
    }); 

、データベースが表示されます。 (私はこれを確認する方法がわからない)しかし、私はトランザクションを作成し、いくつかのSQLを実行しようとすると、関数は決して入力されていないようです。

何か間違っていますか?データベースが存在することを確認するにはどうすればよいですか?

私はテスト用にChrome 14を使用しています。

ありがとうございました

+0

可能性が代わりに '' DB = OpenDatabaseメソッドの(...( 'VARのDB = OpenDatabaseメソッドを書くことでしょう... '。 – Jules

答えて

2

警告は注意書きのようです。それは動作しない原因となるものを中断している可能性があります。

alertはいずれにせよ(デバッグの点で)console.logで置き換えられています。アラートをログに置き換えると、すべてが機能しているように見えます(4つのログをすべて取得します)。

(これらconsole.logコールを表示するには、F12を押して、コンソール上でクリックすることができます。)

+0

これはちょうど私を愚かに感じさせる。情報をありがとう。すべてがアラートなしでうまく動作しているようだ。 –

関連する問題