Ionic2 离子2-第二次呼叫后Inappbrowser事件引发

Ionic2 离子2-第二次呼叫后Inappbrowser事件引发,ionic2,cordova-plugins,inappbrowser,Ionic2,Cordova Plugins,Inappbrowser,我在ionic 2应用程序中使用inappbrowser插件,如下所示: import {InAppBrowser} from 'ionic-native'; launch(url){ this.browser = new InAppBrowser( url, "_blank", "EnableViewPortScale=yes,closebuttoncaption=Done" ); this.browser.on("exit") .subscrib

我在ionic 2应用程序中使用inappbrowser插件,如下所示:

import {InAppBrowser} from 'ionic-native';
launch(url){
      this.browser = new InAppBrowser( url, "_blank", "EnableViewPortScale=yes,closebuttoncaption=Done" );
      this.browser.on("exit")
          .subscribe(
              () => {
                this.close_event=true;
              },
              err => {
                console.log("InAppBrowser Loadstop Event Error: " + err);
              });
  }
然后像这样使用它:

import {InAppBrowser} from 'ionic-native';
launch(url){
      this.browser = new InAppBrowser( url, "_blank", "EnableViewPortScale=yes,closebuttoncaption=Done" );
      this.browser.on("exit")
          .subscribe(
              () => {
                this.close_event=true;
              },
              err => {
                console.log("InAppBrowser Loadstop Event Error: " + err);
              });
  }
和html格式:

<button  ion-button icon-right color="danger"  (click)="launch('https://www.example.com')">launch
    <ion-icon name="refresh"></ion-icon>
发布

第一次单击
启动按钮后关闭浏览器,
退出事件
不会触发,但第二次单击启动按钮后关闭浏览器
退出事件
是否触发可能是您第一次单击启动按钮时,设备平台还没有准备好

尝试将对appbrowser中任何
方法的调用放入
Plaform.ready()
中,如下所示:

...
import { Platform } from 'ionic-angular';
import { InAppBrowser } from '@ionic-native/in-app-browser';
...
export class HomePage {
    private iab: InAppBrowser;
    private platform: Platform;
    private browser;
    ...
    var launch = function(url) {
        this.platform.ready().then(
            () => {
                this.browser = this.iab.create( url, "_blank", "EnableViewPortScale=yes,closebuttoncaption=Done" );
                this.browser.on("exit").subscribe(
                    (event) => {
                        this.close_event = true;
                    },
                    (err) => {
                        console.log("InAppBrowser Loadstop Event Error: " + err);
                    }
                );
            }
        );
    };
    ...
}

也许当你第一次点击启动按钮时,设备平台还没有准备好

尝试将对appbrowser中任何
方法的调用放入
Plaform.ready()
中,如下所示:

...
import { Platform } from 'ionic-angular';
import { InAppBrowser } from '@ionic-native/in-app-browser';
...
export class HomePage {
    private iab: InAppBrowser;
    private platform: Platform;
    private browser;
    ...
    var launch = function(url) {
        this.platform.ready().then(
            () => {
                this.browser = this.iab.create( url, "_blank", "EnableViewPortScale=yes,closebuttoncaption=Done" );
                this.browser.on("exit").subscribe(
                    (event) => {
                        this.close_event = true;
                    },
                    (err) => {
                        console.log("InAppBrowser Loadstop Event Error: " + err);
                    }
                );
            }
        );
    };
    ...
}

你用的是旧版的爱奥尼亚原生版,对吧?因为在上一个版本中,可用的方法发生了一些变化(),我尝试了新方法和旧方法,但是在第二次调用中,AppBrowser事件触发了您使用的是旧版本的Ionic Native,对吗?因为在上一个版本中,可用的方法发生了一点变化(),我尝试使用新方法和旧方法,但是在第二次调用中,AppBrowser事件触发