1

我正在开发一个需要数据库的 phonegap 应用程序。

在几个页面上,它处理数据库,但在应用程序的初始运行时,它会填充数据库。该代码在 android 版本 2.XX 上运行良好,但在 android 版本 4.XX 上失败

var db = window.openDatabase("Database", "1.0", "Database", 500000);

虽然我已经读到 openDatabase 函数可能存在问题,但在我的应用程序中它确实可以在几个页面上工作,而不是这个!失败的总是这条线。

此页面的 logCat 输出显示:

Uncaught TypeError: Object [object DOMWindow] has no method 'openDatabase' at file

正如我所说,它适用于其他页面,但不适用于这一页。我尝试重写它以确保它以与另一页相同的方式工作,甚至编写了一个全新的页面来处理它,但最终它总是归结为完全相同的一行。

是的,phonegaps javascript 被导入。

4

1 回答 1

1

我遇到了同样的问题,对我有用的解决方案是在“deviceReady”事件处理程序中使用 openDatabase。

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    db = window.openDatabase("Database", "1.0", "DBNAME", 200000);
    db.transaction(populateDB, errorCB, successCB);
}
于 2013-05-15T16:28:24.830 回答