0

我最近升级到 open graph 并在我的网站上实现了一些 facebook 社交插件,如 fb:friendpile fb:like-box 等

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

就像在我的主页上一样,当您第一次输入 URL 并进入时,没有呈现任何 facebook 社交插件 - 没有登录按钮,没有朋友堆,没有喜欢 - 什么都没有。

但是当你点击 CTRL F5 - 他们出现了。首先我认为这可能与我的机器有关,但昨天我的两个用户报告了同样的问题。

我用谷歌搜索了一下,这似乎与您放置连接代码的位置有关。现在,我将脚本的这个相关部分放在我的 head 标签中 - 我什至尝试将它放在 body 标签的结尾之前 - 但它没有任何区别。

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

                /* 所有注册的事件 */
                FB.Event.subscribe('auth.login', function(response) {
                    // 对响应做一些事情
                    登录();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // 对响应做一些事情
                    登出();
                });
            };
            (功能() {
                var e = document.createElement('script');
                e.type = '文本/javascript';
                e.src = document.location.protocol +
                    '//connect.facebook.net/en_US/all.js';
                e.async = true;
                document.getElementById('fb-root').appendChild(e);
            }());

            函数登录(){        
                document.location.href = "<?php echo $this->baseUrl(); ?>/login/log";
            }
            函数注销(){
                FB.init({appId: '<?php echo Zend_Registry::getInstance()->configuration->facebook->appid;?>'});               
                FB.注销(功能(响应){
                      // 用户现在已注销
                    });
                document.location.href = "<?php echo $this->baseUrl(); ?>/login/logout";
                返回假;
            }
</脚本>

任何解决此问题的见解将不胜感激谢谢

4

1 回答 1

1

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

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

但是现场重现案例会更有帮助,因为您的代码在大多数情况下看起来都很好。

编辑:您还可以查看http://fbrell.com/xfbml/fb:login-button以获取示例。

于 2010-07-12T00:19:27.083 回答