所以即时开发一个需要Facebook额外权限的应用程序。我有一个请求权限的按钮,并有一个回调执行一些功能。我运行的问题是,如果用户已经授予权限并再次单击按钮,则登录弹出窗口仍会出现并立即关闭。我找到了一种在执行FB.login命令之前检查用户是否具有权限的方法(只有在用户没有权限时才会显示此弹出窗口)但是我会遇到弹出窗口阻止程序问题,因为我将FB.login调用放入否则该支票的陈述。
据我所知,FB.login必须在同一个函数流中,以避免弹出窗口阻塞程序。
这是我的代码:
$('#shareList').click(function (event) {
FB.api('/me/permissions', function (data) {
if (data.data[0].photo_upload == 1) {
$.uploadPic();
//return false;
//event.stopPropagation();
}
});
FB.login(function (response) {
if (response.authResponse) {
$.uploadPic();
} else {
alert('Tekkis viga');
}
}, {scope:'photo_upload'});
return false;
});
理想情况下,我想停止该功能,如果它属于photo_upload
检查的检查并继续登录呼叫。我确实尝试了返回false和event.stopPropagation(),但它们似乎不起作用。有什么可以解决这个问题?
答案 0 :(得分:0)
您正在寻找的功能是 getLoginStatus ,它将为已经过身份验证/登录的用户构建Facebook会话...
http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/