【问题标题】:Open link in external browser from Android with cordova使用cordova在Android外部浏览器中打开链接
【发布时间】:2013-11-29 23:53:51
【问题描述】:

我正在尝试在本机浏览器或其他外部浏览器中从我的应用打开链接,但我只能让它打开应用内浏览器。

我已按照此处指定的方式安装了 inappbrowser:

cordova.apache.org/docs/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html#window.open

我这样调用浏览器窗口: window.open("http://yourmindandmedia.com", '_system');

结果与我这样做的结果相同: window.open("http://yourmindandmedia.com", '_blank');

当我点击设备后退按钮时,我的应用程序全部消失,不显示任何图形并且不支持任何事件。我也试过这个:

navigator.app.loadUrl("yourmindandmedia.com", { openExternal:true });

同样的结果。

这些示例是在 Android 环境中完成的,但我也会在 iOS 中实现。理想情况下,解决方案是相同的。

提前致谢。

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    这是我使用的代码,直到 cordova 像以前一样工作。 如您所见,这是您已经尝试过的方法。 尝试cordova plugin -l 以确保您拥有inappbrowser。 我通过以下方式安装:cordova plugin add org.apache.cordova.inappbrowser,这与旧指令有点不同。我使用的是 Cordova V3.2。

     window.onclick = clickEvent;
    
    function clickEvent(e){
        e = e || window.event;
        var t = e.target || e.srcElement
        if ( t.name || t.href ){
           if( typeof t.href == "string" && t.href.substr(0,4) == 'http' ){
               if( t.attributes.href.value !== "#" ){
                   window.open(t.href, '_system', 'location=yes');
               }
               return false; // no further action for this click
           }
        }
        return true; // process click as normal
    }
    

    我最初有 navigator.app.loadUrl() 但它似乎是特定于 Android 的。

    【讨论】:

    • inappbrowser 现在适用于我的项目。我必须升级 inappbrowser 插件,然后必须升级 android,并升级 cordova 和 eclipse 以便一切正常。
    猜你喜欢
    • 2013-08-01
    • 2021-06-12
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2014-07-12
    • 2018-02-11
    相关资源
    最近更新 更多