Ionic无法在系统浏览器中打开网页

时间:2016-03-14 22:16:12

标签: cordova ionic-framework

我正在尝试将系统Web浏览器打开到特定页面,但我根本无法使用它。我已安装cordova-plugin-inappbrowser 1.2.1,要打开系统浏览器,请拨打以下电话window.open("https://google.com","_system")。发生的事情是,首先没有任何事情发生,几秒钟后,页面显示在我的应用程序顶部(在应用程序内),无法关闭页面。如何打开系统浏览器而不是在同一个应用程序中打开链接?

3 个答案:

答案 0 :(得分:0)

$scope.openWebBrowser = function() {
    var iabRef = null;
    document.addEventListener("deviceready", onDeviceReady, false);
    // Global InAppBrowser reference
    function iabLoadStart(event) {
        // alert(event.type + ' - ' + event.url);
    }

    function iabLoadStop(event) {
        // alert(event.type + ' - ' + event.url);
        // spinnerplugin.hide();
    }

    function iabLoadError(event) {
        // alert(event.type + ' - ' + event.message);
    }

    function iabClose(event) {
        // alert(event.type);
        iabRef.removeEventListener('loadstart', iabLoadStart);
        iabRef.removeEventListener('loadstop', iabLoadStop);
        iabRef.removeEventListener('loaderror', iabLoadError);
        iabRef.removeEventListener('exit', iabClose);
    }

    function onDeviceReady() {
        // spinnerplugin.show();
        // var sedlId = localStorage.getItem('sedlId');
        // var userId = localStorage.getItem('userId');
        // iabRef = window.open('http://xyz/xyz.php?schedule_id=' + sedlId + '&user_id=' + userId + '', '_blank', 'location=no,toolbar=no');
        iabRef = window.open('http://xyz/xyz.php?', '_blank', 'location=no,toolbar=no');
        iabRef.addEventListener('loadstart', iabLoadStart);
        iabRef.addEventListener('loadstop', iabLoadStop);
        iabRef.removeEventListener('loaderror', iabLoadError);
        iabRef.addEventListener('exit', iabClose);
        iabRef.addEventListener('loadstart', function(event) {
            // var checkurlstring = event.url;
            // var checkbookid = checkurlstring.substring(20, 100);
            // localStorage.setItem('bookId', checkbookid);

            if (event.url.match("mobile/close")) {
                iabRef.close();
                // $state.go('app.bordingUserPg');
            }
        });
    }
}

答案 1 :(得分:0)

我目前正在开发一个cordova应用程序。我还添加了cordova-plugin-inappbrowser(1.2.1)。 使用此插件,您可以打开

  通过调用

标准网页,例如“www.google.com”

window.open("www.google.com", "_system", "location=yes");
     在应用程序可用性检查之后,像facebook,twitter等社交媒体页面

使用上述命令,应用程序会在浏览器的新窗口/选项卡中打开链接。

您在哪里测试代码?在您的电脑或实际设备上的浏览器中?设备是否安装了正常运行的浏览器应用程序?

答案 2 :(得分:0)

我不知道你的问题是否已经解决,我最近在我的项目中使用它。

  1. cordova插件添加cordova-plugin-inappbrowser(版本为1.4.0);
  2. controller:window.open(partInfo.partner.link,'_ system`,'location = yes');
  3. 检查android.json和config.xml文件安装后是否成功进行迁移;
  4. 另外,如果您通过Android Studio构建项目,最好在Android中检查此插件 - > java - > org.apache.cordova