我最近升级到 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";
返回假;
}
</脚本>
任何解决此问题的见解将不胜感激谢谢