我怎样才能打开IOS上运行的电话/cordova应用程序中的iframe?

我有一个与PhoneGap / Cordova一起使用的webapp,可以在iOS和Android上安装。 在应用程序的一个点上,我有一个从第二个服务器加载内容的iframe。

当我从浏览器运行应用程序时,一切都按预期工作 – iframe在同一页面中打开并从第二个站点加载内容。

当我在使用Cordova的iPhone模拟器上运行webapp时,当iframe打开时,iOS切换到Safari并将我的应用程序置于后台。

采取的步骤:

  1. 我将第二个站点添加到Cordova.plist文件中的“ExternalHosts”数组中。
  2. 根据PhoneGap / Cordova文档( https://build.phonegap.com/docs/config-xml ),我在/ www目录下的index.html文件旁创build了一个config.xml文件。
  3. 我在config.xml文件中添加了一个<preference name =“stay-in-webview”value =“true”/>标记,作为主要<widget>标记的子元素。

我的怀疑是它不读/使用config.xml文件,但可能有别的东西…有没有人有任何想法,我可能会做错了?

在添加InAppBrowser代替之前使用的iframe之后,我最终再次尝试了一个iframe,现在iframe可以正常工作,不会像以前那样跳到手机的浏览器,而且iframe在iOS和Android中都能一致地工作。

从iframe被破解到开始工作的时候,有两件事情变了:

  1. 我升级到cordova2.5
  2. 我开始使用jquerydynamic创build/添加iframe到页面,而不是像刚开始时那样只隐藏一个已经存在的iframe:

    $('<iframe src =“whatever.com”height =“100%”width =“100%”frameborder =“0”> </ iframe>')。appendTo('body'); 。

我没有打扰检查是否是固定iframe问题的#1或#2(我猜它是#1),但是我认为我会发布可以获得使用PhoneGap / Cordova应用程序的iframe,以防其他人遇到同样的问题。

为什么不使用InAppBrowser? http://docs.phonegap.com/en/2.3.0/cordova_inappbrowser_inappbrowser.md.html 。 使用可以在Android以及iOS中使用的iframe是非常棘手的

现在与iOS 8相同的东西不起作用。 我得到的iFrame没有滚动和溢出在其他div。 尝试各种CSS样式,但没有解决scheme。 适用于Android应用程序。 这是使用最新的Phonegap版本。