2015-08-27 2 views
0

Documentation for Parse.FacebookUtils.init() состояния:Как использовать FB.getLoginStatus() при загрузке страницы, если Parse.com обрабатывает init?

Флаг статус будет принуждать «ложь», потому что это мешает Анализировать Facebook интеграции. Вызовите FB.getLoginStatus() явно, если это поведение требуется вашему приложению.

К сожалению, когда я пытаюсь позвонить FB.getLoginStatus(), я получаю TypeError: Cannot read property 'getLoginStatus' of undefined. Есть ли обратный вызов, который я могу использовать, когда вы загружаете FB, или каким-либо другим способом проверить статус входа пользователя на загрузку страницы?

ответ

0

В итоге я использовал обещания разрешить FB после его загрузки.

var fbDeferred = $q.defer(); 

$window.fbAsyncInit = function() { 
    Parse.FacebookUtils.init({ 
    appId  : 'xxxxxx', 
    xfbml  : true, 
    version : 'v2.2' 
    }); 
    fbDeferred.resolve(FB); 
}; 

var getFB = function(){ 
    return fbDeferred.promise; 
} 

var getFBLoginStatus = function(){ 
    return getFB().then(function(FB){ 

    //**FB is now available** 

    FB.getLoginStatus(function(response) { 
     if (response.status !== 'connected'){ 
     ... 
     }else{ 
     ... 
     } 
    }); 
    }); 
}); 
0

Это поможет увидеть некоторый код, похоже, что SDK не загружается при вызове getLoginStatus().

В любом случае это может помочь, я взял Facebook's basic Login flow и добавил в него Parse. Он проверяет, когда DOM загружен, чтобы вы могли использовать некоторые из этой логики.
Simple Facebook Login test with Parse - просмотр источника

Надеюсь, что это поможет.

+0

Ваш текст "Просмотр исходного кода" не связан. – adamdport

Смежные вопросы