PhoneGap应用程序 - 未调用“deviceready”事件侦听器

时间:2013-05-09 07:30:05

标签: javascript jquery cordova

我正在使用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");
    }

但是没有调用该函数,也没有动态添加任何元素。我做错了什么?

2 个答案:

答案 0 :(得分:0)

必须完全加载页面才能调用deviceready事件侦听器,否则它将无法正常工作,因为设备尚未就绪。在您的脚本中,在完全加载页面之前调用它。试试这个:

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

同样在html文件中更改:

<body onload="onLoad();">

编辑:将addEventListener中的第三个参数更改为“true”。

答案 1 :(得分:0)

确保在脚本之前添加脚本type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"