我的初始线:
<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后就坐在那里,因此网站会话仍然存在且已损坏。
这件事令人沮丧,所以如果有人可以提出为什么不会重定向的建议,我全都听见了。
答案 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);