PhoneGap Cordova InAppBrowser.open 在 iOS 中切换应用程序之前不会打开链接

Posted

技术标签:

【中文标题】PhoneGap Cordova InAppBrowser.open 在 iOS 中切换应用程序之前不会打开链接【英文标题】:PhoneGap Cordova InAppBrowser.open Won't Open Link Until Switching Apps in iOS 【发布时间】:2016-11-18 16:53:56 【问题描述】:

我在设置了 Phonegap/Cordova 的 ios 中使用 InAppBrowser 打开链接时遇到了一些问题。

我正在使用 Cordova 提供的默认模板并将这一行添加到其中:

<a href="#" onclick="cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes');">Testing</a>

当我点击链接时,什么都没有发生。

但是,当我双击 iPhone 的主页按钮以在应用之间切换时,然后应用内浏览器按预期打开(在我可以看到所有打开的应用的视图中,我看到了浏览器打开)。如果我导航回应用程序,浏览器窗口现在会按预期填满屏幕。

我做错了什么,导致应用程序无法在不失去焦点的情况下打开它?

【问题讨论】:

对于它的价值,我已经在两部不同的 iPhone 上进行了尝试,以排除它是特定设备。 你有解决这个问题的方法吗? apache.org', '_blank', 'location=yes');">测试 我相信'_blank' 选项可能是问题所在 - iOS 没有后退按钮,因此返回活动很棘手(在 IOS UIWebView 中) 【参考方案1】:

找到解决方案 - 升级到最新版本的 Cordova(当前为 6.4.0)并使用该版本创建新应用似乎可以解决此问题。

【讨论】:

我正在使用 6.5.0,但这种情况仍在发生。关于为什么还有其他想法? 同样,点击这个 - @MindWire 你找到解决方案了吗?【参考方案2】:

对于遇到此问题的任何其他人 - 该问题实际上是由于 iOS 未能触发设备上的准备就绪。这个更新的元标记解决了这个问题:

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

【讨论】:

以上是关于PhoneGap Cordova InAppBrowser.open 在 iOS 中切换应用程序之前不会打开链接的主要内容,如果未能解决你的问题,请参考以下文章

使用 phonegap / cordova 更改设备配置文件

Phonegap / Cordova 改变个别声音的音量?

Cordova (PhoneGap) 和 iFrame

Phonegap/Cordova 中的本地通知

Cordova/PhoneGap - 通过应用商店验证

我如何将 Phonegap 项目创建的 cordova 1.9 更新为 cordova 3.1