【发布时间】:2013-03-25 15:37:09
【问题描述】:
我有一个使用 Phonegap 制作的移动应用程序,它显示可能包含链接的新闻文章。我希望这些链接在适当的浏览器中打开,与应用程序分开。在我从 Phonegap 版本升级到 2.0.0 到 2.1.0 之后,我找不到一种方法可以在 Android 和 iOS 中提供相同的结果(因为您无法在 iOS 中旋转屏幕之前2.1)。
<a href="http://blah">
始终在应用程序中打开,没有浏览器工具栏,并且在不终止应用程序的情况下无法返回应用程序。 iOS 遵守 config.xml 中的 <access origin="http://blah" />,但 Android 不遵守。两者似乎都不关心browserOnly="true" 属性。
<a href="http://blah" target="_blank">
如果<access> 允许(或完全省略),iPhone 会在 Safari 浏览器中打开它,但 Android 会在应用程序中打开它。
<preference name="stay-in-webview" value="false" />
将此添加到 config.xml 根本没有区别。
<a href="#" onClick="navigator.app.loadUrl('http://blah',{openExternal:true});return false;">
仅在 Android 中受支持,它会在 Chrome 浏览器中打开链接。 iOS 中的错误。
<a href="#" onClick="window.open('http://blah','_blank','location=yes');return false;">
在 Phonegap 2.3.0 版中,这将保留在应用程序中,但在顶部/底部显示一个看起来很便宜的浏览器工具栏,并带有一个按钮,可让您返回应用程序。这是一致的......但不是我想要的。 (在 2.1.0 版本中,这会导致 Android 在应用程序中打开,而 iOS 在适当的浏览器中打开。)
我正在使用 Phonegap Build,所以 this solution 将不起作用。
官方文档参考this blog post,参考1.5.0版本写的,我的2.1.0到2.3.0发现与他们的表不匹配。
我真的不想为这么简单的东西添加插件。
是否有一段代码会导致链接在设备自己的浏览器中打开,在应用的 web 视图之外,无论操作系统如何?
【问题讨论】:
标签: cordova