FB Connect对话框不会关闭

时间:2012-06-29 04:16:19

标签: javascript facebook

当我点击我的FB登录按钮时,会弹出FB auth对话框。输入我的FB凭证后,对话框会重定向到这样的网址:

https://www.facebook.com/dialog/permissions.request?wholeBunchOfQueryParameters

或者,如果我已登录FB,则弹出对话框为:

https://www.facebook.com/dialog/oauth?wholeBunchOfQueryParameters

但这些是空白对话框保持打开状态。一旦我关闭对话框就会发生回调,但直到那时。这是IE和Chrome上的行为。

我确实有这个工作正常,我认为当我有一台新电脑时它停止工作所以它可能是环保的。我认为它从那时起起作用但也许不行。我恢复了我的代码版本,它正在运行,它不再有效,因此进一步暗示它是环境但我不知道它可能是什么。我可能会离开杂草。

另外,另外一点信息,我正在本地开发,所以我使用localhost:port。我对这个问题进行了大量的研究,确实看到有人说使用127.0.0.1而不是localhost,所以我也尝试过,但它并没有什么区别。

知道为什么对话框不会关闭吗?

<fb:login-button perms="email,user_checkins" onlogin="afterFacebookConnect();" 
   autologoutlink="false" ></fb:login-button>
<div id="fb-root" style="display:inline; margin-left:20px;"></div>

<script language="javascript" type="text/javascript">
window.fbAsyncInit = function () {
    FB.init({ appId: 'myAppId',
        status: true, cookie: false, xfbml: true
    });
};

function afterFacebookConnect() {
    FB.getLoginStatus(function (response) {
        alert("Hi");
        var access_token = FB.getAuthResponse()['accessToken'];
        if (response.authResponse) {
            window.location = "../Account/FacebookLogin?token=" +
                   access_token;
        } else {
            alert(FB.getAuthResponse);
        }
    });
};
function logout() {
    FB.getLoginStatus(function (response) {
        var access_token = FB.getAuthResponse()['accessToken'];
        if (response.authResponse) {
            window.location = "../Account/Logout";
        } else {
            // user clicked Cancel
        }
    });    
};
$(document).ready(function () {
    if (document.getElementById('fb-root') != undefined) {
        var e = document.createElement('script');
        e.type = 'text/javascript';
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
    }
});
</script> 

1 个答案:

答案 0 :(得分:0)

这是过去几天出现的已知错误(请参阅https://developers.facebook.com/bugs/241915819261223)。

好消息是FB的工程师刚刚声明了以下内容,所以我们应该很快就会看到这个问题:

  

我们已经解决了这个问题,很快就会推出。请继续关注。