首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery openDatabase()的问题:变量db未定义

jQuery openDatabase()的问题:变量db未定义
EN

Stack Overflow用户
提问于 2010-12-10 18:28:32
回答 1查看 2.2K关注 0票数 1

我用jQuery & jQTouch创建了一个iPhone Web App,它利用了iPhone中Mobile Safari浏览器的本地SQLite数据库。

直到几天前,这个应用程序运行得很好。当我尝试初始化数据库时,突然收到以下错误消息:

代码语言:javascript
复制
TypeError: Result of expression 'db' [undefined] is not an object.

尝试执行以下代码时发生此错误:

代码语言:javascript
复制
function openDB() {     
    db = openDatabase(dbName, '1.0', dbName);       
    db.transaction(  
        function(tx) {  
            tx.executeSql(  
                'CREATE TABLE IF NOT EXISTS energy_days ' +  
                '  ... (omitted) ... ;',  
                [],  
                nullDataHandler,  
                function(tx, error){        
                    alert('Error (CREATE TABLE): '+error.message+' (Code '+error.code+')');  
                    return true;  
                }  
            );  
        },   
        transactionErrorHandler,  
        nullDataHandler  
    );              
}

当然,变量db是全局定义的。

现在,这个代码段可以工作了。也许这与最新的iOS 4.2更新有关?有了这个更新,整个数据库的行为变得有点奇怪(例如,它们在设置中不再可见,直到你重启整个设备)。

有谁知道怎么解决这个问题吗?有没有另一种初始化数据库对象的方法,或者我是否遗漏了一些显而易见的东西?

感谢所有的回复,他们是真诚的感谢!罗兰

EN

回答 1

Stack Overflow用户

发布于 2011-01-25 16:29:48

我想我找到了上面代码的问题所在。如前所述,它在升级到iOS 4之前一直有效(在Safari4中仍然有效)。现在看来,最新的Safari Mobile的JS语法已经收紧了。

使用从Apple's documentation中截取的完整代码(包括简短和显示名称、大小等)它再次在Mobile Safari中工作。

干杯!

罗兰

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4407866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档