我有一个用Phonegap制作的移动应用程序,它显示可能包含链接的新闻文章.我希望这些链接在适当的浏览器中打开,与应用程序分开.在从Phonegap版本升级到2.0.0到2.1.0之后,我无法找到一种方法来实现这一点,这在Android和iOS中会产生相同的结果(因为你无法在2.1之前的iOS中旋转屏幕).
<a href="http://blah">
始终在应用内打开,没有浏览器工具栏,也无法在不终止的情况下返回应用.iOS服从<access origin="http://blah" />config.xml但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,所以这个解决方案不起作用.
官方文档是指这篇博文,参考版本1.5.0编写,我的2.1.0至2.3.0版本与他们的表格不符.
我真的不想为这么简单的东西添加一个插件.
是否有一段代码会导致链接在应用程序的webview之外的设备自己的浏览器中打开,而不管操作系统是什么?
也许现在还不算太晚.无论如何,这是来自我们的代码库,它适用于两个平台.
openURL: function(url) {
if(device.platform === 'Android') {
navigator.app.loadUrl(url, {openExternal:true});
} else {
window.open(url, '_system');
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11004 次 |
| 最近记录: |