![](/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.