2016-11-03 1 views
1

J'essaie d'utiliser le plugin Cordova pour activer le navigateur intégré. C'est juste une preuve de concept très simple que j'essaye de mettre ensemble, mais tout ce que j'ai c'est;InAppBrowser pour Ionic ne fonctionne pas

Uncaught Error: Can't resolve all parameters for InAppBrowser: (?, ?, ?). 

Mon fichier home.ts est;

import {Platform} from 'ionic-angular'; 
import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { InAppBrowser } from 'ionic-native'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html', 
    providers: [InAppBrowser] 
}) 

export class HomePage { 
    constructor(public navCtrl: NavController, public platform: Platform) { 
    } 
    launch(url) { 
     this.platform.ready().then(() => { 
      InAppBrowser.open(url, "_system", "location=true"); 
     }); 
    } 
} 

Et mon fichier html comprend;

<button (click)="launch('https://www.example.com')">Launch URL</button> 

J'ai pratiquement aucune expérience de développement mobile Je suis vraiment juste essayer de suivre this tutorial.

J'ai parcouru Googled, found this post, et j'ai essayé d'installer;

npm install -g typings 
typings install dt~cordova --save --global 

Mais cela ne fonctionne toujours pas. Comment puis-je faire fonctionner cela?

+1

Avez-vous essayé avec '' location = yes'' au lieu de '' location = true''? – mosca90

Répondre

0

Je sais que c'est un peu vieux mais j'ai été dirigé ici après avoir eu le même problème suite à un tutoriel qui me semble un peu dépassé.

Pour toute personne ayant des problèmes similaires, en utilisant .Open() est dépréciée avec natif ionique, et la bonne façon d'utiliser le inAppBrowser est la suivante:

let browser = new InAppBrowser(Url, "_blank"); 

qui ouvrira ses portes dans le navigateur d'applications. Vous pouvez utiliser _SYSTEM pour ouvrir dans le navigateur par défaut du périphérique, tel que Safari sur iOS:

let browser = new InAppBrowser(Url, "_system"); 

Tout le reste dans votre exemple ci-dessus semble être correct.