2010-02-22 4 views
0

내 초기화 라인 :는 FB.Connect.logoutAndRedirect는 (''계정/로그 아웃 ')에도 적절한 세션, 리디렉션되지 않습니다

<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> 

내가 유효한이 내 webapp에 세션, 유효한 페이스 북 세션. 내 사용자가 사진을 보여주기 때문에. 내가 페이스 북)이 함수 나 .logout (하나 제대로 로그 아웃 얻을 수

유일한 방법은 너무으로, 믹스에

return false; 

을 던져하는 것입니다

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

그러나이 방법은 어디서나 리디렉션되지 않습니다. 페이스 북에서 로그 아웃 한 후 앱이 그냥 앉아 있기 때문에 사이트 세션은 여전히 ​​살아 있고 고장났다.

이 문제는 피곤하고 실망 스럽기 때문에 누군가 리디렉션되지 않는 이유에 대해 제안 할 수 있다면 나는 모두 귀입니다.

답변

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); 
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.

+0

body 태그 다음에 스크립트가 포함 된 적절한 html 태그가 Facebook 문서에 있고 false를 반환합니다. 또한 링크를 시도했지만 작동하지 않습니다. 내가 로그 아웃 중이라고 말하는 작은 Facebook 대화 상자가 표시되지만 링크가 제대로 차단되지 않는 것처럼 동일한 페이지로 다시 전달됩니다. –

관련 문제