2012-05-07 3 views
0

У меня проблема с моим кодом, который предназначен для создания всплывающего окна входа в Facebook. В приведенном ниже коде, если я включаю событие click в мой документ, он запускает создание 2 всплывающих окон, но если я оставлю его за пределами документа, то он не сможет создать всплывающее окно. Может кто-нибудь посоветовать?Facebook Connect login box

<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-button или FB.login не оба.

Если вам нужна страница, перенаправленная после входа пользователя в систему, просто удалите FB.login, позвоните и оформите подписку (FB.Event.subscribe) на номер auth.statusChange, чтобы проверить статус входа в систему.

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

Это не делает перенаправление, в котором я нуждаюсь. Мой код точно такой же, за исключением того, что я заменил исходный код window.FB.login кодом вашего FB.Event.subscribe. Он входит в систему, но не перенаправляет. – user517406

+0

Хорошо, получилось, что это сработало после перемещения события click в document.ready ... спасибо! – user517406

Смежные вопросы