Facebook异步加载错误与另一种方法

时间:2017-05-03 09:43:55

标签: javascript html facebook

我想在我的网站上添加facebook登录信息。我异步加载它,当我检查该人没有通过Facebook登录我的网站时,我调用一个函数来注册它们,但是我收到一个错误,说我的函数不存在... facebook是一个html文件,并且我调用的方法(FaceRegister())位于同名的javascript文件中。我认为这是因为加载顺序?任何想法如何解决这个问题? 代码:

<script>
window.fbAsyncInit = function() {
FB.init({
  appId      : '217518691989396',
  xfbml      : true,
  version    : 'v2.8'
})  ;
FB.AppEvents.logPageView(); 
   $(document).trigger('fbload');
};

(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

$(document).on(
        'fbload',
        function(){
FB.getLoginStatus(function(response) {
  statusChangeCallback(response);
});

function statusChangeCallback(response) {
 console.log('statusChangeCallback');
 console.log(response);
 // The response object is returned with a status field that lets the
 // app know the current login status of the person.
 // Full docs on the response object can be found in the documentation
 // for FB.getLoginStatus().
 if (response.status === 'connected') {
   // Logged into your app and Facebook.
   testAPI();
 } else {
   // The person is not logged into your app or we are unable to tell.
   faceRegister();
 }
} 

0 个答案:

没有答案