我有以下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进行测试。
由于
答案 0 :(得分:2)
警报似乎是警告。它可能是暂停导致它无法工作的东西。
无论如何,<alert
被console.log
“取代”(在调试方面),如果我用日志替换警报,一切似乎都有效(我得到所有四个日志)。
(要查看这些console.log
来电,您可以按F12并点击控台台。)