2017-06-02 4 views
1

J'utilise inappbrowser plugin dans l'application ionique 2 comme ceci:ionique 2 - le feu de l'événement Inappbrowser après deuxième appel

import {InAppBrowser} from 'ionic-native'; 

et l'utiliser comme ceci:

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); 
       }); 
    } 

et en html:

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

lorsque vous cliquez sur launch button pour la première fois et après la fermeture du navigateur, exit event ne pas tirer mais quand pour la deuxième fois cliquez sur le bouton de lancement et après fermer le navigateur exit event est le feu

+0

Vous utilisez la version _old_ de ionique natif, non? Parce que dans la dernière version les méthodes disponibles ont changé un peu ([docs] (http://ionicframework.com/docs/native/in-app-browser/)) – sebaferreras

+0

J'essaie avec une nouvelle façon et une ancienne façon mais l'événement inappbrowser feu dans le deuxième appel – Roox

Répondre

0

Peut-être la première fois que vous cliquez sur le bouton Lancer, la plate-forme de l'appareil n'est pas encore prêt?

Essayez de mettre les appels à des méthodes InAppBrowser à l'intérieur Plaform.ready(), comme ceci:

... 
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); 
        } 
       ); 
      } 
     ); 
    }; 
    ... 
}