deviceready处理程序没有被称为ios phonegap 3.3.3

时间:2014-01-03 19:20:44

标签: javascript ios cordova

的index.html

<script>
   function onDeviceReady() {
       alert("onDeviceReady");
       var options = {frequency: 500};
       watchId = navigator.accelerometer.watchAcceleration(onSuccess, onFailure, options);
    }
    document.addEventListener("deviceready", onDeviceReady, false);
</script>

未调用Phonegap 3.3.3设备就绪处理程序。

3 个答案:

答案 0 :(得分:4)

确保您在html中包含了phonegap.js(或cordova.js)脚本。否则你的代码很好。如果问题仍然存在,请尝试在onDeviceReady()中注释除警报之外的所有其他内容。

如果仍有问题,请尝试发布带有问题的index.html。

答案 1 :(得分:2)

最佳做法是在文档完成加载后在函数中设置事件侦听器。尝试这样的事情:

<body onload="onLoad()">

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

或使用jquery:

$(document).ready(function() {
    document.addEventListener("deviceready", onDeviceReady, false);
});

答案 2 :(得分:-1)

从脚本中删除app.initialize()(这会弄乱事件处理程序)