在Facebook登录工作之前,需要刷新页面
我在使用facebook登录的应用程序中遇到了这个问题 问题 在facebook登录提示出现之前,用户需要按F5/刷新页面。否则它不会出现,并且在点击按钮时不会发生任何事情 这是Facebook登录的按钮标签,它调用“Login()”方法{angularJS is used}在Facebook登录工作之前,需要刷新页面,facebook,angularjs,facebook-graph-api,facebook-javascript-sdk,fbconnect,Facebook,Angularjs,Facebook Graph Api,Facebook Javascript Sdk,Fbconnect,我在使用facebook登录的应用程序中遇到了这个问题 问题 在facebook登录提示出现之前,用户需要按F5/刷新页面。否则它不会出现,并且在点击按钮时不会发生任何事情 这是Facebook登录的按钮标签,它调用“Login()”方法{angularJS is used} <a href="#" class="btn btn-default btn-lg" ng-click="login()" ng-disabled="loginStatus.s
<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>
请帮助解决它
提前感谢在
getLoginStatus
回调函数之后添加true
参数以强制刷新缓存
我也面临同样的问题。更多关于这个。我可以提供我的凭据,它可以成功登录到Facebook,但弹出窗口不会关闭并返回到我的域。只要我重新加载页面,它就会正常工作。我还注意到,当我从page.dashboard转到$state.go(“page.login”);Facebook sdk未加载。因为ezfb.login()不工作。
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;
});
}
}]);
ezfb.getLoginStatus(function (res) {
$scope.loginStatus = res;
$scope.promotion = 'promotion';
(more || angular.noop)();
}, true);