2012-05-07 127 views
0

我的代碼有問題,這是爲了創建Facebook Connect登錄彈出窗口。在下面的代碼中,如果我將準備好的click事件包含在文檔中,那麼它會觸發創建2個彈出窗口,但是如果我將它保留在文檔之外,則無法創建任何彈出窗口。任何人都可以建議嗎?Facebook連接登錄框

<script type="text/javascript"> 

      $(document).ready(function() { 

       window.FB.init({ appId: 'xxx', status: true, cookie: true, xfbml: true }); 

      }); 

      $('#fbLogin').click(function() { 
       window.FB.login(function (response) { 
        if (response.status == 'connected') { 
         window.location.href = 'redirecturl'; 
        } 
       }, { perms: 'email' }); 
      }); 

     </script> 
     <fb:login-button autologoutlink="false" perms="email" id="fbLogin"> 

     </fb:login-button> 

回答

0
  • 點擊fb:login-button將上升登錄對話框。
  • 您對#fblogin結合將開啓第二個對話框

選擇您需要的fb:login-buttonFB.login一個不能同時使用。

如果您需要在用戶登錄後重定向頁面,只需刪除FB.login調用並訂閱(FB.Event.subscribe)至auth.statusChange事件以檢查登錄狀態。

FB.Event.subscribe('auth.statusChange', function(response){ 
    if (response.status == 'connected') { 
    window.location.href = 'redirecturl'; 
    } 
}); 
+0

這不會做我需要的重定向。我的代碼是一樣的,除了我用你的FB.Event.subscribe替換了我原來的window.FB.login代碼塊。它登錄但不重定向。 – user517406

+0

好吧,將點擊事件移動到document.ready中之後,它將其工作...謝謝! – user517406