2017-02-19 4 views
2

Folgendes ist der Code, mit dem ich gerade arbeite. Ich würde gerne verstehen, wie höre ich die inAppBrowser schließen Veranstaltung? Wenn einige den inAppBrowser schließen, sollte die App eine Art von Warnmeldung anzeigen.So hören Sie das inAppBrowser-Ereignis "closed" an

Nach der documentation muss ich browser.close() verwenden, aber das funktioniert nicht.

import { Component } from '@angular/core'; 
import { NavController, NavParams, Platform, LoadingController } from 'ionic-angular'; 
import { InAppBrowser } from 'ionic-native'; 

@Component({ 
    selector: 'page-payment-information', 
    templateUrl: 'payment-information.html' 
}) 
export class PaymentInformationPage { 

    constructor(public navCtrl: NavController, public navParams: NavParams, public platform: Platform, public loadingCtrl: LoadingController) { 
    this.platform = platform; 
    } 

    paymentForm(){ 
     let browser = new InAppBrowser('https://www.stackoverflow.com', '_blank', 'hidden=no,location=no,clearsessioncache=yes,clearcache=yes&enableViewportScale=yes'); 
     browser.close(); 
    } 

} 

Antwort

5

Es gibt einige Dinge, die in Ihrem Code falsch sind.

Von der documentationbrowser.hide() nicht tun, was Sie tun möchten.

Blendet ein InAppBrowser-Fenster aus, das derzeit angezeigt wird. Das Aufrufen hat keinen Effekt, wenn der InAppBrowser bereits ausgeblendet war.

_blank es mit _system ersetzen, weil _blank im inAppBrowser öffnet man nicht in der Lage sein wird, schließen Ereignis zu hören.

Jetzt können Sie den Browser abonnieren und auf Ereignisse wie z.

//Events: loadstart, loadstop, loaderror, exit 
browser.on('exit').subscribe(() => { 
    //Do whatever here 
}, err => 
    console.error(err)); 
}); 
+0

Danke, das ist genau das, was ich wollte. –

1

suchte ich in dem InAppBrowser docs und es gibt nichts, wie ein Zuhörer/PromISSe für eine geschlossene Veranstaltung, was Sie tun können, anstatt Platform Lebenslauf Ereignis verwendet, so dass, wenn die InAppBrowser schließen und die App kommt von Hintergrund active state feuert diese Methode ab.

In Ionic 2 API DOCS gibt es nichts zu sagen, wie Sie es verwenden können, aber da Sie es abonnieren können, können Sie so etwas in Ihrem Konstruktor tun (was wahrscheinlich nicht gut wäre, da der Benutzer die App verlassen kann, wenn in dies Seite und komm zurück) oder innerhalb Ihrer paymentForm Methode.

this.platform.resume.subscribe(() => { 
    this.whatINeedToDoWhenUserIsBack(); 
}); 
+0

hast du nicht 'on' gesehen – rashidnk

Verwandte Themen