0

我目前正試圖讓用戶通過他們的Facebook帳戶連接到我的網站,但我有一些問題。FB.init被調用了兩次,但我只有一個來自Facebook的按鈕

首先,你要知道,我已經加了Like按鈕,此代碼:

<div id="fb-root"></div> 
<script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/fr_FR/all.js#xfbml=1&appId=myappid"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

<script type="text/javascript"> 
    var urlfb = document.location.href; 
    $(document).ready(function(){ 
     $('fb\\:like').attr('href', urlfb); 
    }); 
</script> 

所以我看到的Facebook如何Facebook的登錄添加到他的網站的職位,但每次我啓動粘貼FB代碼的頁面,出現這個着名的錯誤消息:FB.init已經被調用 - 這可能表明存在問題。

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : 'myappid', // App ID 
    channelUrl : '', // Channel File 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true // parse XFBML 
    }); 

我需要做些什麼來消除此錯誤?我試圖刪除我的按鈕,沒有更多的錯誤,但我想保持這個像按鈕,所以我必須刪除,以使其工作?

任何想法?

感謝

回答

2

添加#xfbml=1&appId=myappid的SDK URL結束使得自動initialze本身 - 所以只是刪除部分,改變

js.src = "//connect.facebook.net/fr_FR/all.js#xfbml=1&appId=myappid"; 

js.src = "//connect.facebook.net/fr_FR/all.js"; 
+0

它會即使工作FB.init不會在Like按鈕所在的每個頁面上調用? – TheJailbreakBay

+0

當然,你必須在每個頁面上調用它......但是你已經用其他代碼('window.fbAsyncInit'中的那個)來做這件事,不是嗎?無論如何,你可以選擇這兩種可能性中的任何一種。 – CBroe

+0

其實不,但我明白我將如何使它工作!非常感謝。順便說一句,你熟悉Facebook登錄嗎?因爲我有些東西我無法弄清楚如何去做 – TheJailbreakBay

相關問題