![](/img/trans.png)
[英]window.openDatabase throws TypeError: Object[object DOMWindow] has no method 'openDatabase' on Android
[英]Error processing SQL: TypeError: window.openDatabase is not a function
我的代码中有一些奇怪的问题。 我已经创建了简单的DB_Function.js
来管理html页面中的JS函数。
我在<body onLoad="CALL_DB()">
内部调用函数,因此首先将初始化数据库并根据需要创建表。
问题在这里,
代码如下:
DB_Function.js
function CALL_DB() {
try {
alert("call_db");
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
} catch (err) {
alert("Error processing SQL: " + err);
}
}
function populateDB(tx) {
try {
alert("call_table");
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (3, "C")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (4, "K")');
} catch (err) {
alert("Error processing SQL: " + err);
}
}
function errorCB(tx, err) {
alert("Error processing SQL: " + err);
}
// Transaction success callback
function successCB() {
alert("success!");
}
的test.html
<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="js/DB_function.js"></script>
</head>
<body onLoad="CALL_DB()">
<h1>Example</h1>
<p>Database</p>
</body>
</html>
这是我的JS FIDDLE,请帮助我,我不知道我在哪里错。
感谢您阅读我的查询。
问题在这里,
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
我已经解决了要加载的实时js文件的问题,因此可能是因为它们在启动应用程序时无法加载。
因此,我已将其保存在本地assets/www/js/cordova.js
。
所以最后看起来像上面,它对我来说完美地工作。
<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>
看起来您尚未初始化Cordova / PhoneGap API。 您必须先监听deviceReady事件,然后才能操作API
查看以下文档: http : //docs.phonegap.com/en/2.9.0/cordova_events_events.md.html#deviceready
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.