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

14
如何在使用 Cordova 3.0 在 iOS 上时打开设备原生浏览器中的链接?
有人建议使用 window.open(url, "_system"),但这在 Cordova 3.0 中不起作用。

My Attempt

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


请查看我2015年的回答,以在WebView中打开“_self”,并在外部浏览器中打开“_blank”:https://dev59.com/71wY5IYBdhLWcg3wyqWH#32227524 - Sebastien Lorber
2个回答

20

注意:要使 window.open('somelink', '_system') 生效,现在需要一个设备级插件——inAppBrowser。以下是 Cordova 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>

我刚刚测试了这个,它可以正常工作。


9
еҖјеҫ—жіЁж„Ҹзҡ„жҳҜпјҢдјјд№ҺInAppBrowserжҸ’件иҝҳеҸҜд»ҘеӨ„зҗҶ_systemй“ҫжҺҘпјҲhttp://cordova.apache.org/docs/en/3.1.0/cordova_inappbrowser_inappbrowser.md.html#window.openпјүгҖӮ - Justin Russell
@dannytenaglias 请放心在你的答案中加入这一段。如下:注意:为了让 window.open('somelink', '_system') 起作用,现在需要一个设备级别的插件,即 inAppBrowser。以下是 Cordova 3.0 的安装说明。 - Justus Romijn

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接