为什么不重定向到webview?

时间:2016-06-30 12:05:55

标签: javascript angularjs cordova ionic-framework

当我点击按钮时,它应该重定向到我们手机中的默认浏览器以及输入的字符串,应该传递给浏览器。我在控制器中使用以下代码

vm.socialMedialinkOpen = function(url) {
    if (url.indexOf('http://') === 0 || url.indexOf('https://') === 0) {
        $window.open("http://" + url, '_blank', 'location=yes');
    } else {
        $window.open(url,'_system','location=yes');
    }
};

请帮助我,我是角色js的新手,提前谢谢。

3 个答案:

答案 0 :(得分:1)

我建议您使用以下代码添加到config.xml文件中。它会导致所有外部链接在本机应用程序中打开:

<access origin="*"/>
<allow-intent href="http://*/*" launch-external="yes"/>
<allow-intent href="https://*/*" launch-external="yes"/>
<allow-intent href="tel:*" launch-external="yes"/>
<allow-intent href="sms:*" launch-external="yes"/>
<allow-intent href="mailto:*" launch-external="yes"/>
<allow-intent href="geo:*" launch-external="yes"/>

答案 1 :(得分:0)

我建议您使用inAppBrowser插件

答案 2 :(得分:0)

显然条件不正确:

if (url.indexOf('http://') === 0 || url.indexOf('https://') === 0) {

如果trueurlhttp://开头,则会返回https://,但您还会附加"http://" + url以获取真实条件。

我猜你只需要交换条件块:

if (url.indexOf('http://') === 0 || url.indexOf('https://') === 0) {
    $window.open(url,'_system', 'location=yes');
} else {
    $window.open("http://" + url, '_blank', 'location=yes');
}