2012-03-02 54 views
0

所以即时通讯开发一个需要来自Facebook的额外权限的应用程序。我有一个请求权限和回调执行某个功能的按钮。即时通讯运行的问题是,如果用户已经给予权限,并再次点击继续登录弹出窗口仍然出现,并立即关闭。我发现一种方法来检查用户是否有权执行FB.login命令之前(女巫使这个弹出窗口只出现在用户没有权限),但我然后遇到弹出窗口阻止问题,因为我把FB.login调用放入该检查的其他声明。Facebook登录弹出式问题

据我所知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(),但他们似乎并没有工作。有什么可以解决这个问题的?

回答