fbAsyncInit没有触发离子AngularJS

时间:2017-04-26 05:45:54

标签: android angularjs facebook facebook-graph-api ionic-framework

我试图在我的 Ionic 应用中设置 Facebook登录按钮,但window.fbAsyncInit根本没有触发,而我&# 39;我试图通过SO中的几种方法来修复它(同样,我已经尝试了 ngCordova ,但由于本地问题,它不会成为一种可能的解决方案)。 运行AngularJS(1.x)

这是 LoginController.js

    $scope.$on("$ionicView.beforeEnter", function () {
        window.fbAsyncInit = function () {
            FB.init({
                appId: 'MY_APP_ID_HERE',
                status: true,
                xfbml: true,
                version: 'v2.9'
            });
            FB
                .AppEvents
                .logPageView();
            console.log("INIT.")
        };
    })

    $scope.myFacebookLogin = function () {
        FB
            .login(function (response) {
                if (response.authResponse) {
                    console.log('Welcome!  Fetching your information.... ');
                    FB.api('/me', function (response) {
                        console.log('Good to see you, ' + response.name + '.');
                    });
                } else {
                    console.log('User cancelled login or did not fully authorize.');
                }
            }, {scope: 'email,user_likes'});
    }

这是登录按钮(其余Login.html正常运行):

    

    <button ng-click="myFacebookLogin()" class="button button-balanced" style="background-color: #3b5998">Facebook Login</button>

对facebook脚本@ my index.html的引用(切换到en_us/all.js并没有什么区别):

 <script src="http://connect.facebook.net/pt_br/all.js"></script>

截至目前,我在fbAsyncInit函数中运行的任何内容都不会触发,目前的例子是上面的console.log("INIT")。 Chrome上的测试不会以任何方式重定向,并返回 FB.login() called before FB.init() 。在Android设备上进行的测试只是保持不动,就像您没有点击任何按钮一样。

大家好,我已经彻底跟踪Facebook docs' guide了,之前通过function(d, s, id)在我的控制器中加载了Facebook脚本,但后来我觉得这样做多余了把src放在index.html

0 个答案:

没有答案