我有以下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并单击控制台)