0
<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
4

1 に答える 1

0

<script>を本体に移動します。頭にある場合、本体のオンロードの前に評価されません。

http://jsfiddle.net/KYknS/4/

于 2013-10-29T06:06:43.180 に答える