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

在一些页面上,它处理数据库,但是在应用程序的初次运行时,它将填充数据库。该代码在android 2.X.X版上正常工作,但是在android 4.X.X版上失败

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


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

该页面的logCat输出显示:

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


就像我说的那样,它可以在其他页面上运行,但不适用于此页面。我已经尝试过重写它,以确保它与另一页的工作方式相同,甚至编写了一个全新的页面来处理它,但最后,它总是归结为完全相同的那一行。

是的,phonegaps javascript已导入。

最佳答案

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

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

function onDeviceReady() {
    db = window.openDatabase("Database", "1.0", "DBNAME", 200000);
    db.transaction(populateDB, errorCB, successCB);
}

07-24 21:40