2017-02-07 1 views
0

cordova 플러그인 InAppBrowser를 사용하여 내 앱 원격 주소에서 열려고합니다. 그 코드를 사용합니다TypeError : 정의되지 않은 Angular2, Ionic 2, InAppBrowser의 'addEventListener'속성을 읽을 수 없습니다.

import { Injectable } from "@angular/core"; 
 
import { HttpQueryService } from "./httpqueryservice"; 
 
import { ToastController } from "ionic-angular"; 
 
import { InAppBrowser, InAppBrowserEvent } from "ionic-native"; 
 

 
/** 
 
* Класс сервиса для открытия окон в браузере 
 
*/ 
 
@Injectable() 
 
export class WindowOpenService { 
 

 
    inAppBrowserRef: InAppBrowser; //объект с браузером 
 

 
    /** 
 
    * Конструктор класса 
 
    */ 
 
    constructor(
 
    public toastCtrl: ToastController, 
 
    public httpQueryService: HttpQueryService 
 
){ 
 

 
    } 
 

 
    /** 
 
    * Open url in InAppBrowser 
 
    * 
 
    * @param url 
 
    * @param target 
 
    * @param options 
 
    */ 
 
    open(url = 'http://192.168.1.2/myurl/', target = '_blank', options = 'location=yes,hidden=no,hardwareback=yes,toolbar=yes') 
 
    { 
 
    try{ 
 
     var inAppBrowserRef = new InAppBrowser(url, target, options); 
 
     inAppBrowserRef.on('loadstart').subscribe((result) => { 
 
     alert(result); 
 
     inAppBrowserRef.close(); 
 
     }); 
 
     inAppBrowserRef.on('mychange').subscribe((result) => { 
 
     alert(result); 
 
     this.inAppBrowserRef.close(); 
 
     }); 
 
     inAppBrowserRef.on('loadstop').subscribe((result) => { 
 
     alert(result); 
 
     this.inAppBrowserRef.close(); 
 
     }); 
 
     inAppBrowserRef.on('loaderror').subscribe((result) => { 
 
     alert(result); 
 
     inAppBrowserRef.close(); 
 
     }); 
 
    }catch(e){ 
 
     alert(e); 
 
    } 
 
    } 
 
}

을 그리고 난 '에 Loadstart'이벤트에서 오류를 얻을 : 이 이 형식 오류 : 정의되지 않은

에 재산 '또는 addEventListener'을 읽을 수 없습니다 나는 모든 생각 괜찮아. 하지만 오류가 발생합니까? 내가 뭘 잘못하고있어? 이 플러그 인을 사용합니다 https://ionicframework.com/docs/v2/native/inappbrowser/

그리고 에뮬레이터 및 Android 6 버전의 장치에서 테스트하십시오. 같은 문제. 는 Config.xml의 그 코드를 사용합니다

<allow-navigation href="*://192.168.1.2/*"/>

을 그리고 나는 최신 이온 2.2.1 버전을 사용하십시오.

+0

동일한 문제가 발생하지만 cordova 플러그인도 설치했습니다. 나는 여전히 같은 문제가있다. 같은 오류가 계속 발생합니다. 내가 사용하는 코드를 공유했습니다 [여기] (http://stackoverflow.com/questions/42114950/not-able-to-attach-event-handler-in-ionic-2-on-inappbrowser?noredirect= 1). 다행스럽게도 당신이 나를 도울 수 있기 때문에 나는 지금이 일에 매달 렸습니다. – Xk0nSid

+0

Ionic 2의 최신 버전을 사용합니까? –

+0

도움이 될 수 있습니다. https://forum.ionicframework.com/t/cannot-read-property-addeventlistener-of-undefined-using-inappbrowser/77166/7 –

답변

0

문제는 내가 클래스를 사용하기 전에 pluguin을 설치하지 않는다는 것이 었습니다.

ionic plugin add cordova-plugin-inappbrowser 
관련 문제