我正在使用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
答案 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获取正确的版本)