<html>
<head>
<script type="text/javascript" src="js/cordova.js"></script>
<script type="text/javascript" >
function init() {
document.addEventListener("deviceready", onDeviceReady, false);
}
function populateDB(tx) {
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 (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
var len = results.rows.length;
alert("DEMO table: " + len + " rows found.");
for (var i = 0; i < len; i++) {
alert("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data);
}
}
function errorCB(err) {
alert("Error processing SQL: " + err.code);
}
function successCB() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(queryDB, errorCB);
}
function onDeviceReady() {
var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
</script>
</head>
<body onload="init();" >
<a onclick="onDeviceReady();"></a>
</body>
</html>
上記のコードを実行して Android タブにデータを保存します (電話ギャップ Web サイトからそのコードを取得します)。しかし、上記のコードを実行すると、次のエラーが表示されます。Android タブで上記のコードを実行します。 .
0-29 16:27:57.955: E/Web Console(3813): Uncaught ReferenceError: onDeviceReady is not defined at file:///android_asset/www/index.html:1