FB登录回调函数在用户已经登录脸书时没有响应
2022-08-31 01:03:41
我正在使用js的fb连接。这是我的代码:
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxxxxxxxxxxx',
status : true,
cookie : true,
xfbml : true,
oauth : true
});
FB.Event.subscribe('auth.login', function(response) {
obj=response.authResponse;
token=obj.accessToken;
setCookie("access_token_fb", token, '2');
window.location.reload();
},true);
};
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
对于我正在使用的登录:
<div class="fb-login-button" scope="email,user_checkins" >Login with Facebook</div>
订阅函数中的“auth.login”有一个响应处理程序,只有当用户单击fb按钮并且尚未登录到FB时,才会调用它,在fb窗口中输入他/她的电子邮件地址和密码。而如果用户已经登录Facebook,那么fb对话框打开和关闭。然后,它不会将控制权传递给响应处理程序。我在某处读到force=“true”使它能够检测状态变化并回调函数。但我不知道在哪里加力。我认为它应该在登录div中。这是真的还是有其他方法?
谢谢你的时间。