iOS / Cordova:InAppBrowser无法正常工作

时间:2014-02-07 20:13:37

标签: ios cordova inappbrowser

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

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

有人可以帮我找到Bug吗?

谢谢!

config.xml中

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

的index.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

3 个答案:

答案 0 :(得分:4)

刚刚找到解决方案。

iOS cordova_plugins.js文件中缺少以下条目。在Android中它可用....

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

答案 1 :(得分:1)

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

<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';">

它对我有用。

答案 2 :(得分:0)

对我来说,问题出在Visual Studio Cordova工具上。我将Cordova CLI更新为5.1.1但是在visual studio config.xml&gt;中平台部分我还有4.3.3。因此,当我使用最新的inappbrowser与新名称cordova-plugin-inappbrowser导致它无法工作。

因此,如果您正在使用Visual Studio,请确保config.xml中的版本与命令行相同。 (使用cordova -version获取正确的版本)