2016-10-11 230 views
2

当我列出的插件(cordova plugin list),它被列在那里,但是当我在Android设备上运行我的代码在控制台中该邮件(来自Chrome远程调试程序): Native: InAppBrowser is not installed or you are running on a browser. Falling back to window.open, all instance methods will NOT work.科尔多瓦InAppBrowser插件未安装

我有最新版本的ionic-cli。

我已经包含在这里的示例项目:https://github.com/golear91/ionic2-broken-inappbrowser

我基本上是:

  • 使用CLI为 “启动” 选项卡一个项目
  • 添加一个单一的供应商(使用发电机)
  • 向我的其中一个标签添加提供商
  • cordova plugin add cordova-plugin-inappbrowser
  • 进口&企图使用InAppBrowser

我试图删除并重新安装使用该插件无济于事。

对于什么是错误的任何想法?离子本地插件

+0

好了,记住,不是一个错误。它只是一个警告,说它可能不适用于浏览器。只是它。 – developer033

+0

我知道它不能在浏览器中工作,但我在Android设备上测试它,所以它不应该将此消息吐出。 (提到的实例方法实际上不起作用,我需要它们,这就是为什么我问这个问题)。我之前已经完成了它的工作,没有将错误排除在外,但我不知道我这次做错了什么。 –

回答

3

用法必须等待该设备是“准备”

对于Ionic2有角,这可以通过导入平台(与其他所有的东西)来实现你计划使用哪个组件/服务离子原生插件。

import { Injectable } from '@angular/core'; 
import 'rxjs/add/operator/map'; 
import { InAppBrowser } from 'ionic-native'; 
import { Platform } from 'ionic-angular'; 

,然后等待该平台正准备上:

@Injectable() 
export class Service() { 
    constructor(public platform: Platform) { 
    this.init() 
    } 
    init() { 
    this.platform.ready().then(() => { 
     let browser = new InAppBrowser('https://ionic.io', '_system'); 
     browser.on("loadstop").subscribe(()=> console.log("loadstop")); 
    }); 
    } 
} 
+0

但在哪里添加此代码?改进你的答案如何做到这一点 –

+1

@AlokRajasukumaran你必须将平台导入你想要使用离子本地插件的任何组件/服务(添加到答案中)。 –

+0

是的,我弄明白了。谢谢。 –