Facebook FB.logout无法在IE中运行

时间:2011-11-22 11:26:08

标签: django facebook internet-explorer facebook-javascript-sdk

我正在开发一个django网站,该网站还允许用户使用他们的Facebook帐户登录。登录工作正常,但我无法使用Internet Explorer注销。代码似乎在Firefox和Chrome上运行良好。

继承代码

function logoutFBUser()
{
    //logout user from website and Facebook and reload 
    alert ("called FB logout");
    if (FB.getAuthResponse()) 
    {
        alert ("has auth response");
        FB.logout(function(response) 
        {
            window.location.href = '/accounts/logout?next=/';
        });
        alert ("logged out of FB and redirected");
    }
    else 
    {
        alert(" no auth response");
        window.location.href = '/accounts/logout?next=/';
    }
}

在Firefox中,我收到了has auth response的警报,但是在IE中,我收到了警告no auth response。如果我只使用FB.logout而不使用FB.getAuthResponse,则该功能在点击FB.logout时会挂起。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

终于解决了这个问题。我调试了FB.logout的javascript,由于某种原因,它没有access_token,这就是调用FB.logout失败的原因。研究Facebook文档让我看到了这个URL,我在网站上成功注销了

来自Facebook文档的退出链接

https://www.facebook.com/logout.php?next=REDIRECT_URI&access_token=LOGGEDINUSER_ACCESS_TOKEN

毋庸置疑,我在服务器端使用这个,所以不再需要使用javascript了。 有关详细信息,请参阅Facebook身份验证文档。

http://developers.facebook.com/docs/authentication/

感谢所有帮助