从getLoginStatus得到你的回复后,是否打算调用FB.login?目前,当我这样做时,代码停止。
这是他们点击FB按钮登录的代码,这正确地给了我回复......
function facebookConnectBtnLogin()
{
FB.getLoginStatus(function(response)
{
CL();
if (response.status === 'connected') {
logFacebookUserIn(response);
} else if (response.status === 'not_authorized') {
// alert('not_authorized...');
facebookLoginInit();
} else {
//alert('not logged into Facebook...');
facebookLoginInit();
}
},true);
}
处理FB.login的代码,提醒'here4',但不是'here5'......
function facebookLoginInit()
{
alert('here4');
FB.login
(
function(response)
{
alert('here5');
CL();
if(response.authResponse)
{
alert('here6'); logFacebookUserIn(response);
} else alert('not connected');
},
{ scope: "email" }
);
}
我有正确的想法吗?
感谢您的时间和帮助。
答案 0 :(得分:1)
您永远不应该在异步回调函数中调用FB.login,仅限于直接用户交互(鼠标单击)。如果您在用户交互时没有调用它,浏览器会阻止FB.login弹出窗口。
使用FB.getLoginStatus,您只需检查用户是否已获得授权,如果没有:显示用户可以单击登录的登录按钮。当用户输入您的应用程序时,立即显示登录对话框并不是一个好主意,请先告诉他应用程序的内容。