繁体   English   中英

为什么cordova.exec()在“deviceready”之前在我的Android PhoneGap(1.7)应用程序中运行?

[英]Why is cordova.exec() running in my Android PhoneGap (1.7) app before “deviceready”?

我正在尝试“PhoneGap”(1.7.0)jQuery Mobile应用程序(1.1.0)我必须创建一个Android应用程序。 但是,我不断收到以下警告消息。

ERROR: Attempting to call cordova.exec() before 'deviceready'. Ignoring.

似乎这可能发生在$ .ajax调用期间,但很难确定。

我没有在我的应用程序中调用Cordova函数 - 它是纯粹的JQM。

任何想法是什么问题。 或者,如果没有,有人知道为什么在$ .ajax请求期间可能会调用cordova.exec()吗?

我在Android 4.0.3下运行应用程序,在虚拟设备/模拟器中。

花了几个小时后,我发现了类似的问题,我意识到cordova-1.7.0.js(或者你的情况下是phonegap-1.7.0.js)属于iOS,因为我最初为iOS创建项目我用这个文件替换了相关的android JS文件,它开始工作。

cordova-1.7.0.js对于不同的移动平台是不同的,对特定平台使用正确的JS文件。

在我的情况下,这是因为

$(document).ready()...

函数没有正常触发,所以我只是将其更改为javascript版本

<body onload="init();">

在html中定义了一个函数

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

在我的javascript文件中,它解决了这个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM