0
질문 안녕하세요 Facebook이 초기화 될 때까지 기다려야하는 stateProvider를 원합니다. 그런 다음 내 컨트롤러에 $window.FB
var을 할당해야합니다. How to detect when facebook's FB.init is completeFB 초기화 후 Window.FB를 해결합니다.
App.js
module.config(['$urlRouterProvider', '$stateProvider' ,function($urlRouterProvider, $stateProvider) {
$stateProvider
.state('share',{
url:'/share',
templateUrl:'modules/Share/Share.html',
controller: 'ShareCtrl',
controllerAs:'shareCtrl',
data: {
auth: "LoggedIn"
},
resolve: {
FB: ['$window', function($window){
return $window.FB.getUserID(function(response){
return 'test';
// return $window.FB;
});
}]
}
});
}]);
...
이내 페이스 북 초기화 기능
module.run(['$rootScope', '$state', 'authUserService', '$FB', function($rootScope, $state, authUserService, $FB) {
$FB.init('475092975961783', './Modules/Social/FB-Channel.html');
}]);
은 기본적으로 동일 입니다 :
나는 오리엔테이션으로이 방법을했다 여기에 : https://github.com/djds4rce/angular-socialshare/blob/master/angular-socialshare.js 게다가 나는 channel.html에 대한 URL을 전달합니다. (더 이상 필요하지 않은 것 같아요, Is channelUrl parameter for Facebook init() deprecated?).
컨트롤러
module.controller('ShareCtrl', ['$scope', 'myFacebookService', 'FB', function($scope, myFacebookService, FB) {
this.rootUrl = 'modules/Share/';
console.log(FB);
// console.log(myFacebookService.getUser(FB));
}]);
변수가 해결 결코 극복하고 뷰는 결코로드되지됩니다. 브라우저 콘솔의 window.FB.getUserID()
이 내 FacebookAppID를 반환합니다.