javascript - PhoneGap 设备就绪事件未触发

标签 javascript android cordova

我正在使用 PhoneGap 1.5.0 开发网络应用程序但我无法触发 deviceready 事件。

我正在使用的 cordova-1.5.0.js 位于 PhoneGap 1.5.0\lib\android\ 并且我正在多个 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>

最佳答案

首先,您需要将其作为应用程序进行测试,而不是在 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>

关于javascript - PhoneGap 设备就绪事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9891787/

相关文章:

java - Android Studio Java : How to make a button break a while loop

Cordova 混合应用程序

javascript - for (var x in array) 和 for (var x=0, y= array.length; x<y; x++) 的性能差异

javascript - 如何在不添加方法或类的情况下 trim 所有输入中的空格?

javascript - 奇怪的 JavaScript 语法,看起来像 Python 元组

cordova - ENOENT : no such file or directory, 重命名 ansistyles -> .ansistyles.DELETE

java - 不支持的类文件主要版本 61 Cordova Mac

javascript - 在 html 加载时缩放文本并在同一页面的不同位置淡出

java - 我应该关心 Lollipop 及以后的主线程和 UI 线程之间的区别吗?

android - Qt/QML Android发送自定义Intent(分享URL)的最佳实践