Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PhoneGap deviceready事件未触发_Javascript_Android_Cordova - Fatal编程技术网

Javascript PhoneGap deviceready事件未触发

Javascript PhoneGap deviceready事件未触发,javascript,android,cordova,Javascript,Android,Cordova,我正在使用开发一个web应用程序,但无法启动deviceready事件 我使用的cordova-1.5.0.js位于PhoneGap 1.5.0\lib\android\,我正在几个安卓设备上测试,但没有成功 <!DOCTYPE html> <html> <head> <title>Device Properties Example</title> <script type="text/javascri

我正在使用开发一个web应用程序,但无法启动
deviceready
事件

我使用的
cordova-1.5.0.js
位于
PhoneGap 1.5.0\lib\android\
,我正在几个安卓设备上测试,但没有成功

<!DOCTYPE html>
<html>
  <head>
    <title>Device Properties Example</title>    
    <script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
    <script type="text/javascript" charset="utf-8">    

    document.addEventListener("deviceready", onDeviceReady, false);

    function onDeviceReady() {
        alert("onDeviceReady");
    }

    </script>
  </head>
  <body>
    <p id="deviceProperties">Loading device properties...</p>
  </body>
</html>

设备属性示例
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
函数ondevicerady(){
警报(“OnDevicerady”);
}

加载设备属性


首先,您需要将其作为应用程序而不是在web浏览器上进行测试。 第二,如果你想使用地理定位,那么你可以像这样使用它

<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">

// Wait for PhoneGap to load
//
document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is ready
//
function onDeviceReady() {
    navigator.geolocation.getCurrentPosition(onSuccess, onError);
}

// onSuccess Geolocation
//
function onSuccess(position) {
    var element = document.getElementById('geolocation');
    element.innerHTML = 'Latitude: '           + position.coords.latitude              + '<br />' +
                        'Longitude: '          + position.coords.longitude             + '<br />' +
                        'Altitude: '           + position.coords.altitude              + '<br />' +
                        'Accuracy: '           + position.coords.accuracy              + '<br />' +
                        'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '<br />' +
                        'Heading: '            + position.coords.heading               + '<br />' +
                        'Speed: '              + position.coords.speed                 + '<br />' +
                        'Timestamp: '          + new Date(position.timestamp)          + '<br />';
}

// onError Callback receives a PositionError object
//
function onError(error) {
    alert('code: '    + error.code    + '\n' +
          'message: ' + error.message + '\n');
}

</script>

//等待PhoneGap加载
//
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//PhoneGap已经准备好了
//
函数ondevicerady(){
navigator.geolocation.getCurrentPosition(onSuccess,onError);
}
//成功地理定位
//
成功时的功能(位置){
var element=document.getElementById('geolocation');
element.innerHTML='Latitude:'+position.coords.Latitude+'
'+ '经度:'+position.coords.Longitude+'
'+ '高度:'+position.coords.altime+'
'+ '精度:'+position.coords.accurity+'
'+ '高度精度:'+position.coords.altitudeAccuracy+'
'+ '标题:'+position.coords.Heading+'
'+ '速度:'+position.coords.Speed+'
'+ '时间戳:'+新日期(position.Timestamp)+'
'; } //OneError回调接收PositionError对象 // 函数onError(错误){ 警报('code:'+error.code+'\n'+ '消息:'+error.message+'\n'); }
我从未能让cordova-1.5.0在android(api 8)上按预期启动DeviceRady。。但是,切换到1.6.1后没有问题

你建议我如何检查错误日志?通过Android Logcat。将设备连接到计算机,您将获得设备的日志。另外,请告诉我您正在试用哪个操作系统版本?我发现了问题所在,我在移动浏览器上测试了这个示例,但没有成功,但在作为应用程序进行测试时,它运行良好。现在我很困惑,因为我在另一个例子中使用了PhoneGap地理定位,并且在移动浏览器上工作得很好。你能照亮我吗?:)那么你是说你在手机的网络浏览器上打开了上面的html页面?如果是,那么它肯定不会工作。您需要将其作为应用程序打开。。。第二,你能解释一下你是如何在移动浏览器上使用Phonegap地理定位的吗?是的,W3C地理定位API是在大多数现代浏览器中实现的,这就是你所使用的。这实际上就是我们在PhoneGap中以及在支持W3C实现的iOS和Android版本中使用的,因为它为我们节省了一些代码。