Facebook javascript登录,发布操作对话框不起作用

Facebook javascript登录,发布操作对话框不起作用,javascript,facebook,facebook-javascript-sdk,facebook-login,Javascript,Facebook,Facebook Javascript Sdk,Facebook Login,我正在开发一个简单的应用程序,用户可以通过Facebook登录并撰写产品评论。当我使用publish\u actionsextended permission scope进行初始登录时,登录对话框在basic\u info步骤后冻结 下面是对所发生情况的更详细解释: “使用Facebook登录”按钮显示在publish\u操作范围内 单击按钮打开Facebook登录屏幕(如果未登录) 登录(或如果已经登录)后,会出现basic_info权限屏幕,说明“应用程序将接收以下信息:您的公共配置文件和

我正在开发一个简单的应用程序,用户可以通过Facebook登录并撰写产品评论。当我使用
publish\u actions
extended permission scope进行初始登录时,登录对话框在
basic\u info
步骤后冻结

下面是对所发生情况的更详细解释:

  • “使用Facebook登录”按钮显示在
    publish\u操作范围内
    
  • 单击按钮打开Facebook登录屏幕(如果未登录)
  • 登录(或如果已经登录)后,会出现
    basic_info
    权限屏幕,说明“应用程序将接收以下信息:您的公共配置文件和好友列表。”
  • 单击“确定”会导致“确定”按钮被禁用,但不会进入“扩展权限”对话框
如果我关闭Facebook登录窗口并再次单击登录按钮,我将看到扩展权限对话框,我可以完成登录。完成登录后,我可以继续,我的应用程序的其余部分也可以正常工作

我已经检查了控制台中的错误,无论是Facebook登录窗口还是我的应用程序窗口中都没有错误

我还尝试使用Facebook登录按钮,并将
FB.login
附加到元素。两种方法产生相同的结果。单击“基本权限”步骤上的“确定”后,登录对话框冻结

关于如何使其进入最后的扩展权限步骤,有什么想法吗

JS

// Additional JS functions here
window.fbAsyncInit = function() {
  FB.init({
    appId      : 'MY APP ID',
    status     : true,
    cookie     : true,
    xfbml      : true
  });

};

// Load the SDK Asynchronously
(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/all.js";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

在尝试其他事情时偶然发现了一个解决方案

我使用的Facebook登录按钮如下:

<div
    id="fblogin"
    class="fb-login-button"
    data-show-faces="false"
    data-width="200"
    data-max-rows="1"
    data-scope="publish_actions"
    login_text="Login to Review" >
</div>
问题解决了

$('#fblogin').click(function(){
    FB.login(function() {

    }, {scope: 'publish_actions'});

    return false;
});