全局变量有时不会在fbAsyncInit中更新

时间:2015-04-29 02:39:53

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我有这个代码: -

var FB_INIT = false;
window.fbAsyncInit = function() {
  FB.init({
    appId: 'xxxxxxxxxxxxx',
    xfbml: true,
    version: 'v2.2'
  });
  FB_INIT = true;
};

现在,当用户单击登录按钮时,我会检查FB api是否已加载。例如: -

function checkLogin(){
  if (!FB_INIT) {
   alert("Not loaded!");
  }else{
   login();
  }
}

但是,我在这里面临一个非常令人困惑的问题。如果用户在加载api后单击登录按钮,则可以正常工作。但是,如果用户在api加载之前点击了登录按钮,那么每当他再次点击登录按钮时,即使在api加载之后,他也会收到警告框。我通过在浏览器中的JS控制台中打印FB_INIT来检查Firefox控制台中的console.log(FB_INIT),然后我得到false。我在这里做错了什么?

0 个答案:

没有答案