我在离子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 :(得分: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);
}
);
}
);
};
...
}