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;
});
}
}]);
請協助解決問題!
由於提前
任何更新嗎? – AngryJS
我面臨同樣的問題。 更多在此。我可以給我的憑證,它成功登錄到Facebook,但彈出窗口沒有關閉並返回到我的域名。 當我重新加載頁面時,它正常工作。 另外我注意到,當我從page.dashboard到$ state.go(「page.login」); Facebook sdk沒有被加載。由於ezfb.login()不起作用。 – ajin