我正在尝试将基于Cordova 2.0的iOS应用程序升级到2.7版本.
它基本上是一个受欢迎的屏幕,指向一个远程搜索引擎(请注意有关应用程序的有效性和可能的批准,因为我们过去),我们正在使用ChildBrowser插件来启用子浏览器中打开链接,以免将用户陷入Cordova网络视图.
Cordova 2.7有一个名为InAppBrowser的功能我希望使用而不是ChildBrowser. InAppBrowser基本上是一样的,除了在Safari中缺少一个按钮打开.
问题
现有的应用程序的远程网页包括Cordova JS(以及ChildBrowser插件),它可以在子浏览器中打开链接.
我的测试Cordova 2.7应用程序似乎没有正确加载Cordova JS从远程网页加载.
我尝试在嵌入式起始页和远程起始页上使用完全相同的HTML:
<!DOCTYPE html> <html> <head> <Meta charset="utf-8"> <script type="text/javascript" src="http://mydomain.com/mobile/cordova-2.7.0.js"></script> </head> <body> <script> document.addEventListener("deviceready",onDeviceReady,false); function onDeviceReady() { alert("Ready!!"); } </script> </body> </html>
为了测试这个嵌入式开始页面,我把这一行放在config.xml中:
<content src="index.html" />
当我运行应用程序时,我马上得到“准备好了”警报.
要测试这个作为远程起始页面(我的目标是链接到最终的应用程序中的远程页面,我只是使用它作为测试的起始页面,如果从嵌入式页面链接,结果是一样的.)我把这一行放在config.xml中:
<content src="http://mydomain.com/mobile/index.PHP" />
当我运行应用程序,我只是得到空白屏幕,没有警报.
此外,在cordova-2.7.0.js L. 6255中,我改变了
console.log('deviceready has not fired after 5 seconds.');
至
alert('deviceready has not fired after 5 seconds.');
有了这个变化,使用远程起始页面运行应用程序会导致空白页面,然后在五秒钟后,我会收到警报“设备在5秒钟后还没有触发”.所以这告诉我,Cordova JS没有正确启动.不用说,我不能让InAppBrowser在远程站点上的子浏览器中启动链接,但是我可以在嵌入式开始页面上正常工作.
任何人都有从哪里去的想法?这是一个非常简单的例子,所以我假设这是一个Cordova设置问题或功能的变化.感谢任何想法,谢谢!