0

在我的网站中,我有 2 个 facebook 连接按钮,它们具有以下代码;

<div id="fb-root"></div>
            {literal}
            <script>             

              window.fbAsyncInit = function() {
                FB.init({
                  appId: {/literal}{$fb_app_id}{literal},
                  cookie: true,
                  xfbml:  true,
                  oauth:  true
                });                            

                FB.Event.subscribe('auth.login', function(resp) {
                    window.location.reload();
                });    

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

            <a class="facebook-connect" href="#" onclick="fb_login();return false;">facebook connect</a>    

            {literal}
            <script>
            function fb_login(){                                                      
              FB.login( function( response) {
                    if( response.authResponse){
                         // dont do anything, it will reload the page
                         window.location.reload();
                    }
                    else // user cancelled facebook connect
                    {
                        return false;
                    }
                }, {scope : 'email, user_about_me, user_birthday, user_location, friends_about_me, publish_actions, offline_access '});   

        }

在那之后,我有一个相同的 facebook 连接按钮,但是 didderent 类;

<a class="facebook" href="" >facebook connect</a>

但是,在第二节课中,我不想让FB.init加载 js-sdk 异步。所以,我使用了这段代码;

$('.facebook').click( function(){

        $('.facebook-connect').click();
});

但是,单击.facebook按钮后,会出现对话框,facebook 会询问登录凭据(电子邮件/密码)。之后,对话框变为空白。有任何想法吗 ?

4

0 回答 0