2013-09-16 142 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. 
    }); 
... 
}; 

希望這有助於!