Cordova 3.0 - 在iOS中的外部浏览器中打开链接

时间:2013-07-31 13:30:34

标签: javascript ios cordova

在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的解决方案?
感谢

2 个答案:

答案 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"]);