外部链接加载Ionic / Cordova app的OUTSIDE

时间:2015-04-03 10:47:51

标签: cordova ionic-framework

我正在使用Ionic / Cordova应用程序,我在其中加载有时包含外部链接的供稿和新闻。我需要在应用程序之外加载这些外部链接,而不是在InAppBrowser中,而是在手机浏览器中。

是否可以将此作为所有链接的默认行为?

3 个答案:

答案 0 :(得分:6)

要使用相应的系统应用程序打开URL,您需要whitelist plugin。如果您的项目基于脚手架演示程序,则应该已经安装了它。如果没有(或只是为了确保):

ionic plugin add cordova-plugin-whitelist

安装插件后,您必须指定要从应用程序中打开的intend。在config.xml中,添加:

<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
...

根据上述规则,使用相应的系统应用程序将打开所有使用指定协议之一(http,https,tel,sms,mailto,...)的URI。当然,通过用实际值替换*通配符,可以更加具体。

有关其他详细信息,请参阅this article

答案 1 :(得分:2)

对于外部链接,您必须使用inAppbrowser插件。在包含插件以在手机浏览器中打开后,您需要重新安装。使用代码

var ref = window.open('http://apache.org', '_system', 'location=yes');

/*
_self: Opens in the Cordova WebView if the URL is in the white list, otherwise it opens in the InAppBrowser.
_blank: Opens in the InAppBrowser.
_system: Opens in the system's web browser.
*/

答案 2 :(得分:2)

您必须安装以下插件

 > ionic plugin add cordova-plugin-inappbrowser

index.html

<div class="list">
    <a class="item" href="#" onclick="window.open('http://google.com', '_system', 'location=yes'); return false;">
       Open Browser
    </a>    
</div>

有关此插件的详细信息,请访问plugin page