【发布时间】:2017-11-24 07:14:34
【问题描述】:
我在我的 ionic 应用程序中集成了一个支付网关,我在服务器端使用节点 js。单击按钮后,我使用 ionic native inAppBrowser 将用户重定向到支付网关页面,之后我正在监听 url 事件。支付成功后,浏览器会重定向到成功的url,否则会重定向到失败的url。基于此,我正在处理应用程序中的 UI。我的问题是当我收听成功/失败的 url 并调用 close browser 事件时,我收到此错误。
未捕获的类型错误:this.browser.close 不是函数
我也尝试过 hide() 方法,但我得到了同样的错误。 以下是我的代码。
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http } from '@angular/http';
import { InAppBrowser, InAppBrowserEvent } from '@ionic-native/in-app-browser';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
event : any;
browser:any;
failed : boolean = false;
success : boolean = false;
constructor(public navCtrl: NavController, private http: Http,private iab: InAppBrowser) {
}
payment(){
this.browser = this.iab.create('http://192.168.0.59:3000/post').on("loadstop")
.subscribe((ev: InAppBrowserEvent) => {
if(ev.url == "http://192.168.0.59:3000/failure"){
console.log("payment failed");
this.failed = true;
this.closeBrowser();
}else if(ev.url == "http://192.168.0.59:3000/success"){
console.log("payment success");
this.success = true;
}
});
}
closeBrowser(){
this.browser.close();
}
}
我还在真实设备上测试该应用程序,因此没有任何科尔多瓦或平台问题...请告诉我我犯了什么错误。 正确的描述和答案对我以后的参考很有帮助。
【问题讨论】: