我刚开始使用离子框架。
我在我的应用程序中使用InAppBrowser插件,我需要观察它上面的事件。
InAppBrowser事件:
pageload
pagestop
pageerror
exit
我在这里查看了文档,https://ionicframework.com/docs/native/in-app-browser/
所以,我写了我的代码:
this.browser = this.iab.create('https://www.google.com/', '_self');
this.browser.on('pageload').subscribe(
(next) => {
console.log(`pageload next: ${next}`);
},
(error) => {
console.log(`pageload error: ${error}`);
},
() => {
console.log(`pageload completed`);
}
)
......它给了我错误:
ERROR TypeError: this.browser.on(...).subscribe is not a function
at DrawPage.ionViewDidLoad (main.js:56064)
at ViewController._lifecycle (main.js:17243)
at ViewController._didLoad (main.js:17116)
at NavControllerBase._didLoad (main.js:44717)
at t.invoke (polyfills.js:3)
at Object.onInvoke (main.js:4427)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
at NgZone.run (main.js:4295)
at NavControllerBase._viewAttachToDOM (main.js:44365)
答案 0 :(得分:0)
使用“_blank”访问浏览器事件 pageload、pagestop、pageerror、e_self 在cordova webview 上加载外部页面,这是您的代码无法访问的。 可以使用 ngZone。
const browserRef = this.iab.create(externalUrl, '_blank', options);
browserRef.on(BrowserEvent).subscribe(promise)