openDatabase卡住了

时间:2012-06-21 07:54:13

标签: javascript html5 cordova blackberry-webworks opendatabase

我有一个Blackberry Web Work项目,这是我第一次进行移动编程。 我想使用window.openDatabase创建缓存数据库 但有些事情很奇怪,我在显示此数据库之后发出警告,但它没有显示任何内容。

我也在此功能之前和之后发出警报,仅在此功能之前显示警报 我尝试将try catch错误,但它仍然没有显示错误消息。

需要你的帮助

THX

这是我的简单代码:

$(document).ready(function() {
    try {
        if (!window.openDatabase) {
            alert('not supported');
        } else {
            var shortName = 'mydatabase';
            var version = '1.0';
            var displayName = 'My Important Database';
            var maxSize = 65536; // in bytes
            alert("prepare to open database");
            var db = openDatabase(shortName, version, displayName, maxSize);
            alert("open Database");
            // You should have a database instance in db.
        }
    } catch (e) {
        // Error handling code goes here.
        if (e == 2) {
            // Version number mismatch.
            alert("Invalid database version.");
        } else {
            alert("Unknown error " + e + ".");
        }
        return;
    }

    alert("Database is: " + db);
});​

1 个答案:

答案 0 :(得分:0)

您的问题似乎与您的try / catch语句的定位有关。我重新安排了您的示例代码,它正在运行:

$(document).ready(function () {

if (!window.openDatabase) {
    alert('not supported');
} else {
    try {
        var shortName = 'mydatabase';
        var version = '1.0';
        var displayName = 'My Important Database';
        var maxSize = 65536; // in bytes
        alert("prepare to open database");
        var db = openDatabase(shortName, version, displayName, maxSize);
        alert("open Database");
        // You should have a database instance in db.
    } catch (e) {
        // Error handling code goes here.
        if (e == 2) {
            // Version number mismatch.
            alert("Invalid database version.");
        } else {
            alert("Unknown error: " + e + ".");
        }
        return;
    }

    alert("Database is: " + db);
}
});

请记住,并非所有浏览器都支持openDatabase。 FireFox和IE将为您提供“不支持”警报,Chrome和Safari将显示其余警报。

以下是测试修改后的代码http://jsfiddle.net/sdarya/0pkvLfpv/

的JSFIDDLE链接