我有一个Facebook登录按钮:
<fb:login-button scope="email,user_birthday">Login with Facebook</fb:login-button>
和这个JS:
window.fbAsyncInit = function() {
FB.init({
appId: 'APP_ID_HERE',
cookie: true,
xfbml: true,
oauth: true
});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
};
我的问题是包含此代码的任何页面总是重新加载一次。这是因为上面的login
回调被调用(如果用户登录到Facebook帐户),即使用户尚未点击上面的登录按钮。这是正常的行为吗?如果没有,我如何阻止调用login
回调?
答案 0 :(得分:0)
一个解决方案:您可以使用PHP sdk检查用户状态,并且仅当用户未登录时,在您订阅auth.login
的位置创建JavaScript部分。
答案 1 :(得分:0)
每次SDK检测到状态从unknown / not_connected变为connected时,都会触发此事件。
听起来你想通过onlogin