我正在使用Ionic / Cordova应用程序,我在其中加载有时包含外部链接的供稿和新闻。我需要在应用程序之外加载这些外部链接,而不是在InAppBrowser中,而是在手机浏览器中。
是否可以将此作为所有链接的默认行为?
答案 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。