PhoneGap 2.1:升级后(2.0到2.1)onDeviceReady未被远程调用

时间:2012-09-22 12:58:28

标签: iphone cordova updates

我有一个iPhone PhoneGap应用程序。有一个HTML文件位于远程服务器中,另一个html文件位于项目包(本地)中。

升级到PhoneGap 2.1后,我的onDeviceReady()(监听“deviceready”)方法不再被调用,在服务器端。我在本地有一个HTML文件,本地调用onDeviceReady方法没有任何问题。但在重定向到网页应用程序后,不再调用onDeviceReady()方法。我没有使用PhoneGap 2.0这样的问题。有人知道为什么会这样吗?

我使用控制台创建了一个完整的新(模板)PG项目,并将www文件夹添加到我的服务器。在模板项目中,我重定向到模板phonegap项目的www remote文件夹中的index.html。我意识到,同样的问题总是会发生:onDeviceLoad方法没有被调用。这就是来自phonegap的模板项目。在本地它可以正常工作,但不是在服务器上。我允许的ExternalHosts已设置为“*”(允许所有主机)。

我发现其他开发人员遇到同样的问题:https://issues.apache.org/jira/browse/CB-1529

有人知道如何解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:7)

PhoneGap开发团队已经回答了我的Jira Ticket,他们的解决方案解决了我的问题。以下是他们写的内容(https://issues.apache.org/jira/browse/CB-1525):

要在本地解决此问题,请更改cordova.js文件中的以下行: execXhr.open('HEAD',“file:///!gap_exec”,true);

要: execXhr.open('HEAD',“/!gap_exec”,true);