登录按钮不会每次显示

我最近升级到打开图形,并在我的网站上实现了一些Facebook社交插件,如fb:friendpile fb:like-box等

自从我实现了这些新功能以来,我看到了这些插件的一些随机行为。

就像在我的主页上,当您输入网址并首次出现时,没有呈现Facebook社交插件 - 没有登录按钮,也没有朋友不喜欢 - 没有任何内容。

但是当你按下CTRL F5时 - 它们就会出现。 首先,我认为这可能与我的机器有关,但昨天我的两位用户报告了同样的问题。

我搜索了一下,它似乎与您放置连接代码的位置有关。 现在,我把这个脚本的相关部分放在我的头部标签中 - 我甚至尝试将它放在身体标签的末尾之前 - 但它没有任何区别。

<script type="text/javascript">
    window.fbAsyncInit = function() {
       FB.init({appId: '<?php echo Zend_Registry::getInstance()->configuration->facebook->appid;?>', status: true, cookie: true, xfbml: true});

                /* All the events registered */
                FB.Event.subscribe('auth.login', function(response) {
                    // do something with response
                    login();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // do something with response
                    logout();
                });
            };
            (function() {
                var e = document.createElement('script');
                e.type = 'text/javascript';
                e.src = document.location.protocol +
                    '//connect.facebook.net/en_US/all.js';
                e.async = true;
                document.getElementById('fb-root').appendChild(e);
            }());

            function login(){        
                document.location.href = "<?php echo $this->baseUrl(); ?>/login/log";
            }
            function logout(){
                FB.init({appId: '<?php echo Zend_Registry::getInstance()->configuration->facebook->appid;?>'});               
                FB.logout(function(response) {
                      // user is now logged out
                    }); 
                document.location.href = "<?php echo $this->baseUrl(); ?>/login/logout";
                return false;
            }
</script>

任何疑难解答拍摄这个将不胜感激谢谢


您的注销逻辑看起来有问题(您可以在logout()调用FB.logout() - 但也可以在'auth.logout'事件上调用logout() ,这似乎是循环的)。 您还应该删除logout()函数中的FB.init()调用。 在<html>标记中缺少xmlns:fb通常是XFBML无法在IE中呈现的原因,所以我会仔细检查一下。 您也可以尝试使用正常脚本标记替换异步加载同步加载,如下所示:

<script src="http://connect.facebook.net/en_US/all.js"></script>

但是,实时repro的情况下会更有帮助,因为你的代码大部分看起来很好。

编辑:你也可以结帐http://fbrell.com/xfbml/fb:login-button作为例子。

链接地址: http://www.djcxy.com/p/35805.html

上一篇: login button not displaying everytime

下一篇: Paypal Payments Pro API Usage for Credit Card transaction