2012-01-12 63 views
0

下面的腳本將立即下載Facebook的SDK來生成代碼來創建類似按鈕試圖添加Facebook的喜歡按鈕,在我的網站

(function() { 
      var scrFaceBook = document.createElement('script'); 
      scrFaceBook.type = 'text/javascript'; 
      scrFaceBook.src = document.location.protocol +       '//connect.facebook.net/en_US/all.js'; 
      scrFaceBook.async = true; 
      document.getElementById('fb-root').appendChild(scrFaceBook); 
     })(); 

<div class="fb-like" data-send="false" data-width="450" data-show-faces="true" data-font="arial"></div> 

我做像這樣添加Facebook類似按鈕。當我運行我的應用程序,看到我得到「對象不支持此屬性或方法,all.js,uri:https://connect.facebook.net/en_US/all.js

有人可以建議我如何解決這個問題?提前致謝。

回答

1

您忘記了將<div id="fb-root"></div>添加到HTML的正文。

而且你似乎已經忘記了APP ID

<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/en_US/all.js#xfbml=1&appId=127211380649475"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 
+0

這是什麼127211380649475. – TJK 2012-01-12 02:37:07

+0

從Facebook的例子中的示例應用程序ID ......與你和你的頁面替換它應該更好地工作。另外請確保包含fb-root div。 – DMCS 2012-01-12 02:38:21

+0

我不知道你在說什麼appid。你可以解釋嗎? – TJK 2012-01-12 02:52:11

0

是你的瀏覽器支持html5嗎?也許錯誤在這裏「scrFaceBook.async = true;」

1

你需要確保DOM元素會在腳本標記上述聲明。否則可能無法負荷:

<div class="fb-like" data-send="false" data-width="450" data-show-faces="true" data-font="arial"></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/en_US/all.js#xfbml=1&appId=127211380649475"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script>