2012-09-05 290 views
1

我搜索了近4個小時,併發布了這個。 我想在我的網站上實現Facebook登錄。 問題是登錄工作正常,登錄後必須重定向到另一個自定義頁面, 它不重定向,但留在同一頁面。這是我正在使用的代碼。Facebook登錄後重定向

<head> 
     <title>My Facebook Login Page</title> 
     <script src="//connect.facebook.net/en_US/all.js"></script> 
    </head> 
    <body> 

     <div id="fb-root"></div> 
     <fb:login-button perms="email"></fb:login-button> 

    <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
       appId : 'XXXXXXXXXX', 
       status : true, 
       cookie : true, 
       xfbml : true 
      }); 

      FB.Event.subscribe('auth.login', function() { 
       window.location = "about_us.html"; 
      }); 
     }; 

     (function() { 
      var e = document.createElement('script'); 
      e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
      e.async = true; 
      document.getElementById('fb-root').appendChild(e); 
     }()); 
    </script> 

     <!-- <div class="fb-login-button" >Login with Facebook</div> --> 

請指引我哪裏說錯了也可能的話正確的代碼 我從以下鏈接所採取的代碼。 Redirect after clicking on the Facebook login button, even if already logged in Facebook

在此先感謝。

+1

嘗試使用此[FB.getLoginStatus](https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/)來確定登錄狀態並執行window.location重定向 –

回答

3

你只需要添加這個

FB.login(function(response) { 
    if (response.authResponse) { 
     window.top.location = "http://www.foo.com"; 
     }); 

     } 
0

當我把

window.top.location = "http://www.foo.com"; 

FB.getLoginStatus(function(response) { 
statusChangeCallback(response); 
window.top.location = ""; 
}); 

它的工作下。