1

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

我还在这个函数之前和之后放置了警报,只在这个函数之前显示警报我尝试放置try catch错误,但它仍然不显示错误消息。

需要你的帮助

谢谢

这是我的简单代码:

$(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);
});​
4

1 回答 1

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 会显示剩余的警报。

这是测试修改后代码的 JSFIDDLE 链接http://jsfiddle.net/sdarya/0pkvLfpv/

于 2014-10-07T01:42:33.740 回答