离子InAppBrowser事件可观察

时间:2017-07-07 16:06:25

标签: angular ionic-framework ionic2 observable ionic3

我刚开始使用离子框架。

我在我的应用程序中使用InAppBrowser插件,我需要观察它上面的事件。

InAppBrowser事件:

  1. pageload
  2. pagestop
  3. pageerror
  4. exit
  5. 我在这里查看了文档,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)
    

1 个答案:

答案 0 :(得分:0)

使用“_blank”访问浏览器事件 pageload、pagestop、pageerror、e_self 在cordova webview 上加载外部页面,这是您的代码无法访问的。 可以使用 ngZone。

const browserRef = this.iab.create(externalUrl, '_blank', options);
browserRef.on(BrowserEvent).subscribe(promise)