iOS / Cordova:InAppBrowser无法正常工作



我正在使用Cordva(v3.3.0)和JQuery Mobile为Android和iOS构建应用程序。现在我正在尝试使用InAppBrowser插件。在Android上,这工作正常,但在iOS上,网页似乎在Cordova WebView中打开,而不是在系统浏览器中打开。问题是打开浏览器后无法立即返回应用程序,因为没有位置栏/后退按钮。

我已经尝试删除插件并再次添加它,并且还将Cordova更新到最新版本(3.3.0)

任何人都可以帮我找到错误吗?

谢谢!

配置.xml

<access origin="*" />
<feature name="InAppBrowser">
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>

索引.html

<a href="#" onclick="window.open('http://google.com', '_system', 'location=yes');" data-role="button" data-icon="arrow-r" data-iconpos="right">Google</a>

日志输出

Resetting plugins due to page load.
Finished load of: https://www.google.ch/?gws_rd=cr&ei=hj31Up7fEYXgygXXXXXXXX

刚刚找到解决方案。

iOS cordova_plugins.js文件中缺少以下条目。在安卓中,它是可用的。

{
    "file": "plugins/org.apache.cordova.core.inappbrowser/www/InAppBrowser.js",
    "id": "org.apache.cordova.core.inappbrowser.InAppBrowser",
    "clobbers": [
        "window.open"
    ]
},

您应该将页眉中的页面元更改为

<meta http-equiv="Content-Security-Policy" content="img-src * 'self' data:; default-src * 'self' gap: wss: ws: ; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';">

它对我有用。

对我来说,问题在于Visual Studio Cordova工具。我将CordovaCLI更新到5.1.1,但是在Visual Studio config.xml>平台部分中,我仍然有4.3.3。因此,当我使用带有新名称cordova-plugin-inappbrowser的最新inappbrowser时,导致它无法正常工作。

因此,如果您使用的是Visual Studio,请确保config.xml中的版本与命令行相同。(使用科尔多瓦版本获得正确的版本)

最新更新