我有这个代码: -
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
。我在这里做错了什么?