0

我在我的应用程序中使用 facebook javascriptSDK。我已经用于从 facebook 登录和注销。它正在成功记录我,但无法从 facebook 注销。我正在使用这个函数:baseUrl(); ?>/login/logout" class="menu_link" onclick="fb_logout();">注销

   <script>
FB.init({appId: '061665c433986c406bbeda1b465350c1', status: true,
    cookie: true, xfbml: true});

function fb_login()
{
    FB.login(function(response)
        {
            if(response.session!=null)
            {
                window.location.href="http://www.allindiaarchitects.com/registration/index";
            }
        },{perms:'email,user_birthday,offline_access,publish_stream,read_friendlists'});
}


function fb_logout()
{
    FB.logout(function(response) 
    {
        if(response.session!=null)
        {
            //window.location.href="<?php echo $this->baseUrl(); ?>/login/logout";

        }
    });

}
</script>

该怎么办。任何人都可以帮助我吗?

4

2 回答 2

0

问题是 FB.logout 方法仅将用户从应用程序中注销,而不是从 facebook 中...

于 2011-11-14T17:35:58.670 回答
0

如果您在 FB 注销后将用户重定向到单独的页面,您应该只将该重定向放在可以作为参数传递给 FB.logout 的回调函数中,如下所示:

<a href="#" onclick="mysignout(url);">logout</a>

然后仅从 FB.logout 的回调函数中重定向

function mysignout(url)

{
    FB.logout(function()
    {
        top.location.href = 'url'
    });
}

FB.logout 似乎进行了 ajax 调用以撤销服务器上的身份验证,并且可能需要几秒钟才能成功完成。如果您在锚链接中重定向,则 FB.logout 在某些浏览器中的重定向之前不会成功完成。特别是,这将发生在 IE 上。

看到这篇文章:FB.logout not working in IE8

于 2011-08-26T15:04:18.003 回答