我有一个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
有人知道如何解决这个问题吗?提前谢谢。
答案 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);