HTML5 / js sqlite数据库没有进入事务功能

时间:2011-10-27 16:28:09

标签: javascript sqlite html5

我有以下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时,似乎永远不会输入该函数。 / p>

我做错了吗?如何验证数据库是否存在?

我正在使用Chrome 14进行测试。

由于

1 个答案:

答案 0 :(得分:2)

警报似乎是警告。它可能是暂停导致它无法工作的东西。

无论如何,<alertconsole.log“取代”(在调试方面),如果我用日志替换警报,一切似乎都有效(我得到所有四个日志)。

(要查看这些console.log来电,您可以按F12并点击控台台。)