2013-09-16 109 views
0

此异步代码放在头部,并允许显示像按钮FB:FB像按钮防止FB登录按钮出现

<script type="text/javascript">(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.async=true; js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=XXXXXXXXXXXXX"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

这一代码进入其中FB像按钮显示(连同谷歌分析跟踪代码)

<div id="fb-root"></div> 
<script type="text/javascript">_ga.trackFacebook();</script> 
<div class="fb-like" data-width="150" data-layout="button_count" data-show-faces="false" data-send="false"></div> 

一切工作很好,但在单个(留言板,实际上),我有一个FB登录按钮(Link to the page页)定位在页面的底部。 FB登录按钮使用PHP SDK for PHP。

if (!$user): ?> 
    <div id="fb-root" style="display:none"></div> 
    <script language="javascript" type="text/javascript"> //modifica per validazione w3c 
//<![CDATA[ 
document.write('<fb:login-button size="medium" scope="email">Login with/Accedi con Facebook</fb:login-button>'); 
//]]> 
    </script> 

它不会出现,除非我从喜欢按钮的代码FB删除

<div id="fb-root"></div> 

。问题是FB登录按钮也需要fb-root div。

似乎从像按钮FB删除

<div id="fb-root"></div> 

不会造成任何伤害按钮本身。我仍然可以点击LIKE按钮并添加评论。此外,FB登录按钮再次工作。 这是为什么? fb-root div对于FB像按钮一样无用吗? (其实,在stackoverflow上的几个答案状态相反)

如何使FB登录按钮工作良好,而不必从FB像按钮中删除FB-root div?任何提示?

在此先感谢

回答

0

我不知道,如果事情有了很大的改变,因为有人问,但我有同样的问题,并通过使用FB.init设置解决了这个问题:XFBML:真。

window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 'your-app-id', 
    status  : true, 
    cookie  : true, 
    xfbml  : true // if 'false', Login button won't show. 
    }); 
... 
}; 

希望这有助于!