我正在开发一个需要数据库的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);
}