私はInAppBrowser
をionic-native
から使用して、特定のコールバックURLがロードされるのを監視します。ここに私のコードの抜粋です:"Ionic2 InAppBrowserを使用して、 '未定義のaddEventListener'プロパティを読み取ることができません。
import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { InAppBrowser, InAppBrowserEvent } from 'ionic-native';
@Component({/* ... properties ... */})
export class MyPage {
/* ... constructor, etc. ... */
// function triggered by button click on the page
register() {
let url = 'https://example.com/oauth2/authorize?client_id=29D20X';
let browser: InAppBrowser = new InAppBrowser(url, '_system');
browser.on('loadstart').subscribe((ev: InAppBrowserEvent) => { // line 23
if (0 === ev.url.indexOf('http://localhost:8100/callback')) {
console.log(ev.url);
browser.close();
}
});
}
}
とすぐregister()
機能がトリガされると、ブラウザウィンドウが予想されるページを開きますが、一方でそれが開かれたページに、私は次のエラーを取得する:
TypeError: Cannot read property 'addEventListener' of undefined
at Observable._subscribe (inappbrowser.js:79)
at Observable.subscribe (Observable.js:56)
at MyPage.register (my-page.ts:23)
ありスタックトレース内のその後の詳細ですが、それは問題がinappbrowser
ためionic-native
ラッパーであることはかなり明らかです。
これはバグですか、それとも不足していますか?ここに私のシステム情報があり、私はionic serve
を使ってこれをブラウザでテストしています。
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.5
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.0.0
ios-deploy version: 1.8.2
ios-sim version: 5.0.3
OS: OS X Yosemite
Node Version: v7.0.0
Xcode version: Xcode 7.2.1 Build version 7C1002
ありがとうございます!