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进行测试。

谢谢

警告似乎是警告。它可能会挂起一些东西,导致它无法工作。

alert无论如何都被console.log"取代"了(在调试方面),如果我用日志替换警报,一切似乎都工作了(我得到了所有四个日志)。

(要查看这些console.log呼叫,可以按F12并单击控制台)

最新更新