2

我在使用Facebook登錄的應用程序中面臨此問題。Facebook登錄前需要刷新頁面

發行

用戶需要按F5 /刷新頁面之前,Facebook的登錄提示出現。否則它不會出現,按鈕單擊時不會發生任何事情。

這是Facebook Login的按鈕標籤,它調用「Login()」方法{使用angularJS}。

<a href="#" class="btn btn-default btn-lg" ng-click="login()" 
        ng-disabled="loginStatus.status == 'connected'"> <i class="fa fa-facebook fa-fw"></i> <span 
         class="network-name">Login Using Facebook</span></a> 

AngularJS代碼都會調用:

app.controller('DemoCtrl', ['$scope', 'ezfb', '$window', 'PFactory', '$location', function ($scope, ezfb, $window, PFactory, $location) { 

updateLoginStatus(updateApiMe); 

$scope.login = function() { 
    ezfb.login(function (res) { 
     /** 
     * no manual $scope.$apply, I got that handled 
     */ 
     if (res.authResponse) { 
      updateLoginStatus(updateApiMe); 
     } 
    }, {scope: 'email,user_likes,user_status,user_about_me,user_birthday,user_hometown,user_location,user_relationships,user_relationship_details,user_work_history'}); 

    $location.path('/view9'); 
}; 

$scope.logout = function() { 
    ezfb.logout(function() { 
     updateLoginStatus(updateApiMe); 
    }); 
}; 

$scope.share = function() { 
    ezfb.ui(
     { 
      method: 'feed', 
      name: 'angular-easyfb API demo', 
      picture: 'http://plnkr.co/img/plunker.png', 
      link: 'http://plnkr.co/edit/qclqht?p=preview', 
      description: 'angular-easyfb is an AngularJS module wrapping Facebook SDK.' + 
       ' Facebook integration in AngularJS made easy!' + 
       ' Please try it and feel free to give feedbacks.' 
     }, 
     null 
    ); 
}; 

var autoToJSON = ['loginStatus', 'apiMe']; 
angular.forEach(autoToJSON, function (varName) { 
    $scope.$watch(varName, function (val) { 
     $scope[varName + 'JSON'] = JSON.stringify(val, null, 2); 
    }, true); 
}); 

function updateLoginStatus(more) { 
    ezfb.getLoginStatus(function (res) { 
     $scope.loginStatus = res; 
     $scope.promotion = 'promotion'; 
     (more || angular.noop)(); 
    }); 
} 

function updateApiMe() { 
    ezfb.api('/me', function (res) { 
     $scope.apiMe = res; 
    }); 
} 

}]); 

請協助解決問題!

由於提前

+0

任何更新嗎? – AngryJS

+0

我面臨同樣的問題。 更多在此。我可以給我的憑證,它成功登錄到Facebook,但彈出窗口沒有關閉並返回到我的域名。 當我重新加載頁面時,它正常工作。 另外我注意到,當我從page.dashboard到$ state.go(「page.login」); Facebook sdk沒有被加載。由於ezfb.login()不起作用。 – ajin

回答