即使正确的会话,FB.Connect.logoutAndRedirect(''account / logout')也不会重定向

时间:2010-02-22 02:06:48

标签: javascript login facebook

我的初始线:

<script type="text/javascript">function initFB(){FB_RequireFeatures(["XFBML"], function(){FB.init("xxxx", "xd_receiver.htm");});}</script>

我的退出链接:

<a onclick="FB.Connect.logoutAndRedirect('account/logout');">Log Out</a>

我的网络应用程序中有一个有效的会话,以及有效的Facebook会话,因为我的用户显示图片显示。

我可以让Facebook使用此函数或.logout()正确注销的唯一方法是抛出

return false;

进入混合,如下:

<a onclick="FB.Connect.logoutAndRedirect('account/logout'); return false;">Log Out</a>

然而,这仍然没有重定向到任何地方。该应用程序只是在退出Facebook后就坐在那里,因此网站会话仍然存在且已损坏。

这件事令人沮丧,所以如果有人可以提出为什么不会重定向的建议,我全都听见了。

2 个答案:

答案 0 :(得分:0)

我相信你必须返回false以防止链接的正常行为。至于重定向,我在我的网站上这样做:

<a href="#" onclick="FB.Connect.logout(function() { window.location='account/logout' }); return false;" >Logout</a>

我不确定为什么你的logoutAndRedirect不起作用,这篇文章可能会有所启发:http://forum.developers.facebook.com/viewtopic.php?id=38549

答案 1 :(得分:0)

找到某人编写的用于运行Facebook注销并正确重定向的功能。这非常有效。

Javascript code:
function fBlogout(){
    try{
        FB.Connect.ifUserConnected(function(){
            FB.Connect.logoutAndRedirect('http://fullurl.com/account/logout');
        }, 'http://fullurl.com/account/logout');
    }catch(e){
        location.href = 'http://fullurl.com/account/logout';
    }
}

HTML Link:
<a href="#" onclick="FBlogout(); return false;">Log Out</a>

PHP code for logout:
$facebook->expire_session();
$facebook->logout(MAIN_SITE_URL);