gpt4 book ai didi

iphone - jQuery openDatabase() 问题 : variable db is undefined

转载 作者:行者123 更新时间:2023-11-28 17:47:49 25 4
gpt4 key购买 nike

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

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

TypeError: Result of expression 'db' [undefined] is not an object.

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

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 更新有关?通过此更新,整个数据库行为变得有点奇怪(例如,它们在设置中不再可见,直到您重新启动整个设备)。

有人知道如何解决这个问题吗?是否有其他方法来初始化数据库对象,或者我是否遗漏了一些明显的东西?

感谢大家的回复,由衷感谢!罗兰

最佳答案

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

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

干杯!
罗兰

关于iphone - jQuery openDatabase() 问题 : variable db is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com