我正在开发一个不显示应用程序的应用程序。而且它在Web视图和应用程序之间进行通信。
这是我的代码:
import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { QrcodePage } from '../qrcode/qrcode';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
//template: '<p>Chargement..</p>'
})
export class HomePage {
ngOnChanges(): void {
this.onLoad();
}
constructor(public navCtrl: NavController, public inAppBrowser: InAppBrowser, public platform: Platform) {
this.onLoad();
alert('homepage');
}
onLoad(){
var url = "https://www.myurl.fr/accounts/login?source=mobapp";
var browser = this.inAppBrowser.create(url,'_blank',{zoom:'no',location:'no',hardwareback:'no'});
browser.on('loadstart').subscribe((e) => {
var scriptUrlParam = "window.addEventListener(\"click\",function(e){var href=e.target.getAttribute(\"href\");if(href){location.href=href+\"?source=mobapp\";e.preventDefault();alert(location.href)}});";
var url = e.url;
browser.executeScript({code: scriptUrlParam});
alert(e.url);
if(url.indexOf("scanner") !== -1){
this.navCtrl.push(QrcodePage);
browser.hide();
}
});
browser.show();
}
}
我希望每次访问或返回视图时都调用函数 onLoad()。因为当我在android上使用后退按钮时,它发生了,所以不再显示webview。.
我尝试了一些方法,但没有任何工作如我所愿。
谢谢大家
答案 0 :(得分:0)
尝试这个:
ionViewWillEnter() {
this.onLoad();
}
这是您每次查看此页面的时间。