2017-06-02 60 views
1

我離子2應用程序中使用inappbrowser插件這樣的後:離子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); 
       }); 
    } 

和HTML:

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

當第一次點擊launch button並關閉瀏覽器後,exit event不能點火但第二次點擊啓動按鈕後關閉瀏覽器exit event就是點火

+0

您使用的離子本土的_old_版本,對不對?因爲在最後一個版本中,可用的方法已經改變了一點點([docs](http://ionicframework.com/docs/native/in-app-browser/)) – sebaferreras

+0

我試着用新的方式和舊的方式,但在inappbrowser事件在第二次電話中發射 – Roox

回答

0

也許你第一次點擊啓動按鈕,設備平臺還沒有準備好呢?

嘗試把調用任何InAppBrowser方法裏面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); 
        } 
       ); 
      } 
     ); 
    }; 
    ... 
}