J'utilise InAppBrowser
de ionic-native
pour ouvrir une fenêtre de navigateur système et rechercher une URL de rappel particulière à charger. Voici un extrait de mon code:"Impossible de lire la propriété 'addEventListener' de undefined" à l'aide de Ionic2 InAppBrowser
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();
}
});
}
}
Dès que la fonction register()
est déclenchée, la fenêtre du navigateur s'ouvre la page attendue, mais en attendant sur la page à partir de laquelle il a été ouvert, je reçois l'erreur suivante:
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)
il y a plus après que la trace de la pile, mais il est assez clair que le problème est dans l'emballage ionic-native
pour inappbrowser
.
Est-ce un bug ou manque-t-il quelque chose? Voici mes informations système, et je suis en train de tester cela dans un navigateur en utilisant 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
Merci!