登录按钮不会每次显示
我最近升级到打开图形,并在我的网站上实现了一些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
