14

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

4

2 回答 2

20

注意:要使window.open('somelink', '_system')工作正常,您现在需要一个设备级插件 inAppBrowser。以下是 Cordova 3.0 的安装说明

来自 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>

我刚刚对此进行了测试,并且可以正常工作。

于 2013-08-01T14:29:56.207 回答
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"]);
于 2014-02-10T10:28:28.467 回答