0

私は vs2012 を使用しています。PhoneGap アプリケーションを開発しています。そのアプリケーションでは、次の JavaScript コードを使用しています。

document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady()
    {
       // alert("hh");
        console.log("Entering index.html.onDeviceReady");
        //var element = document.getElementById('deviceProperties');
        var html = "";
        html = html + "<li>" + 'Device Name: ' + device.name + "</li>";
        html = html + "<li>" + 'Device Cordova: ' + device.cordova + "</li>";
        html = html + "<li>" + 'Device Platform: ' + device.platform + "</li>";
        html = html + "<li>" + 'Device UUID: ' + device.uuid + "</li>";
        console.log(html);

        $("#deviceProperties").html(html);
        $("#deviceProperties").listview('refresh');
        console.log("Exiting index.html.onDeviceReady");
    }

しかし、関数は呼び出されず、要素を動的に追加していません。私は何を間違っていますか?

4

2 に答える 2

0

スクリプトの前にスクリプトを追加して type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"ください。

于 2013-05-09T11:19:33.737 に答える
0

devicereadyイベント リスナーを呼び出すには、ページが完全に読み込まれている必要があります。そうしないと、デバイスの準備ができていないため機能しません。スクリプトでは、ページが完全に読み込まれる前に呼び出されます。これを試して:

function onLoad()
{
   document.addEventListener("deviceready",onDeviceReady, true);
}

また、htmlファイルでこれを変更します:

<body onload="onLoad();">

編集: の 3 番目のパラメーターaddEventListenerを " true" に変更します。

于 2013-05-09T10:16:20.953 に答える