angular - Cordova 在浏览器中不可用

标签 angular cordova ionic2 cordova-plugins ionic3

我刚刚开始学习 ionic 框架并尝试使用 firebase 实现 Facebook 登录。我正在浏览器中运行此应用程序,并且我有以下代码,这给了我“cordova_not_available”错误。谁能帮助我了解我的尝试出了什么问题。

谢谢。

app.module.js 内部

import {Facebook} from '@ionic-native/facebook';
import firebase from 'firebase';

export const firebaseConfig = {
    ....
    ....
};

firebase.initializeApp(firebaseConfig);

home.ts 内部

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import {Facebook} from '@ionic-native/facebook';
import firebase from 'firebase';

@Component({
    selector: 'page-home',
    templateUrl: 'home.html'
})
export class HomePage {

    constructor(public navCtrl: NavController, public facebook: Facebook) {

    }
    fblogin() {
        var me = this;
        me.facebook.login(['email']).then(res=>{
            const fc = firebase.auth.FacebookAuthProvider.credential(res.authResponse.accessToken);
            firebase.auth().signInWithCredential(fc).then(fs => {
                alert("Firebase sec");
            }).catch(ferr => {
                alert("error");
            })
        }).catch(err=>{
            console.log("JSON.stringify(err)");
        })
    }

}

最佳答案

使用 ionicserve 在浏览器中运行应用程序时,Cordova 插件不可用。为了能够使用 Cordova 插件,您需要在模拟器/真实设备上运行该应用程序。

更新

I need to run app on android and browser

我能想到的唯一方法是使用平台信息来检查应用程序是否在移动设备上运行(this.platform.is('cordova'))以及是否是,使用 Cordova 插件。如果不是,您需要像创建网站时一样执行操作,例如使用 Firebase 中的 REST api(因此不使用 Cordova 插件)

Where should I check this platform?

在调用任何 Cordova 插件相关方法之前。因此它可能位于您的服务中,或者位于 app.component.ts 文件中。只是决定是否需要使用基于 Cordova 插件的方法,或者是否需要执行使用 Web 服务的方法。

关于angular - Cordova 在浏览器中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450968/

相关文章:

angular - typescript 对象类型转换不起作用

html - 正在准备产品列表但 UI 不正确

angular - 如何使用 Angular 错误处理获取出现在控制台上的 CORS 错误?

javascript - localStorage 安全吗?我可以从另一个应用程序访问它吗?

javascript - 与 HTML5 应用程序相比,Phonegapped Android 应用程序无法运行

node.js - 未捕获( promise ): Error: No provider for GooglePlus

javascript - 如何以编程方式强制 Capacitor App 重新加载

javascript - 联系人插件 cordova 没有获取联系人也没有给出任何错误?

angular - 如何确定 Ionic 的评级值?

ionic-framework - Ionic 2- 警报对话框,在不同组件上带有按钮处理程序