angularjs - facebookConnectPlugin 未定义(ngCordova,Ionic 应用程序)

标签 angularjs cordova ionic

我正在尝试将 native fb 连接添加到我的 ionic 应用程序。

我正在使用:
- ionic
- ngCordova
- http://ngcordova.com/docs/plugins/facebook/

这是我的代码:

angular.module('starter.controllers', ['ngCordova'])

.config(function($cordovaFacebookProvider) {
var appID = 123456789;
var version = "v2.0"; // or leave blank and default is v2.0
$cordovaFacebookProvider.browserInit(appID, version);
})

导致此错误>
Uncaught Error: [$injector:modulerr] Failed to instantiate module starter due to:
Error: [$injector:modulerr] Failed to instantiate module starter.controllers due to:
ReferenceError: facebookConnectPlugin is not defined
at browserInit (http://localhost:8100/lib/ngCordova/dist/ng-cordova.js:1576:7)
at http://localhost:8100/js/controllers.js:6:30
at Object.invoke (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11994:17)
at runInvokeQueue (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11900:35)
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:11909:11
at forEach (http://localhost:8100/lib/ionic/js/ionic.bundle.js:8147:20)
at loadModules (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11890:5)
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:11907:40
at forEach (http://localhost:8100/lib/ionic/js/ionic.bundle.js:8147:20)
at loadModules (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11890:5)

尝试了几件事,但没有任何积极的结果:
- 当我构建它并在我的设备上运行它时,应用程序显示一个空白屏幕
  • 尝试了正常的cordova js代码:
  • 将 $cordovaFacebookProvider 更改为 $cordovaFacebook(基于此线程:
    forum.ionicframework.com/t/unknown-provider-cordovaprovider/13305/3
  • 这是另一个相关的线程,但没有帮助我思考..
    forum.ionicframework.com/t/does-ng-crodova-has-facebook-login/9163

  • 我已经在应用内浏览器中有一个使用 fb auth 的原型(prototype)。但我真的很想拥有一个原生的 fb 连接功能。

    最佳答案

    我找到了解决这个问题的方法。
    感谢这个线程:https://github.com/driftyco/ng-cordova/issues/446
    本教程:https://github.com/Wizcorp/phonegap-facebook-plugin/blob/master/platforms/browser/README.md
    第一步:不要忘记 <div id="fb-root"></div>在你的 body 之后。
    第二步:我将 facebookConnectPlugin 添加到我的凉亭依赖项中
    请参阅我的 bower.json :

    "dependencies": {
        "angular-google-maps": "~2.0.13",
        "google-map": "~0.4.1",
        "facebook-connect-plugin": "https://cdn.rawgit.com/Wizcorp/phonegap-facebook-plugin/master/facebookConnectPlugin.js"
    }
    
    请参阅我的 app.config + 代码进行初始化:
    app.config(function ($stateProvider, $urlRouterProvider, $ionicConfigProvider, $animateProvider, $httpProvider, $cordovaFacebookProvider) {
    
    var appID = 597135743751760;
    var version = "v2.0"; // or leave blank and default is v2.0
    $cordovaFacebookProvider.browserInit(appID, version);
    
    $cordovaFacebookProvider 调用 facebookConnectPlugin()
    第三步:更改此依赖项后,不要忘记从您的 CLI 调用 bower update。
    bower update example
    第 4 步:在 index.html 中包含新的 facebookblablabla.js。
    有可能
    <script src='bower_components/facebook-connect-plugin/index.js'></script>
    
    对我来说是
    <script src='lib/facebook-connect-plugin/index.js'></script>
    
    第五步:在您的 Facebook 应用程序中添加有效 OAuth 重定向 URIs 字段:
    http://static.ak.facebook.com/connect/xd_arbiter/
    希望对你有帮助 :) !

    关于angularjs - facebookConnectPlugin 未定义(ngCordova,Ionic 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27906239/

    相关文章:

    javascript - 如何在 Phonegap 上读取和写入文件?

    android - 无法使用Gradle构建Ionic/Cordova Android项目

    javascript - 使用 Angular JS 单击提交按钮后如何在警报框中显示错误?

    asp.net-mvc-4 - 在 MVC4 环境中使用 Razor 和 Angular.js

    javascript - 存储购物车数据的更好方法是什么?

    使用侧面菜单和选项卡时的 ionic 历史记录堆栈

    angularjs - 为什么应用程序不在 angular js 中显示第一个 View

    javascript - 无法从 Thinkster MEAN Stack 教程中获得工作支持

    javascript - Underscore 的 findWhere 和 MongoDB 对象

    html - Galaxy S5 上的 Cordova CSS 问题