在iOS上使用Cordova 3.0时,如何在设备本机浏览器中打开链接?
人们建议使用window.open( url, "_system" )
但这在Cordova 3.0中不起作用。
我的尝试
if( navigator.app ) // Android
navigator.app.loadUrl( url, {openExternal:true} )
else // iOS and others
window.open( url, "_system" ) // opens in the app, not in safari
有没有人知道适用于Cordova 3.0的解决方案?
感谢
答案 0 :(得分:19)
注意:要使window.open('somelink', '_system')
正常工作,您现在需要一个设备级插件,即inAppBrowser。以下是Cordova 3.0的安装说明
来自Docs for 3.0:
从版本3.0开始,Cordova将设备级API实现为插件。使用命令行界面中描述的CLI插件命令为项目添加或删除此功能:
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
$ cordova plugin rm org.apache.cordova.core.inappbrowser
这些命令适用于所有目标平台,但修改下面描述的特定于平台的配置设置:
iOS(在config.xml中)
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
我刚试过这个并且有效。
答案 1 :(得分:4)
安装InAppBrowser插件:
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
$ cordova plugin rm org.apache.cordova.core.inappbrowser
并在.js文件中执行插件:
//exec(successCallback, errorCallback, pluginName, pluginMethod, params)
cordova.exec(null, null, "InAppBrowser", "open", [url, "_system"]);