2012-09-11 77 views
1

maexculture.tumblr.com是我的網站。Facebook的「贊」按鈕/計數器不工作在tumblr

剛剛安裝了facebook按鈕,首先它要求確認喜歡,然後在確認並按下「Like」之後切換到計數狀態,然後回到零。 「發送」功能起作用。但是Like函數不是 - 在Facebook上沒有任何東西顯示,並且不計數。

這是我在我的頁面的頂部:

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:fb="https://www.facebook.com/2008/fbml" 
     xmlns:og="http://ogp.me/ns#" 
     xml:lang="en" 
     lang="en"> 

和特定按鈕:

<div class="facebook-button"> 
    <div class="fb-like" data-href="{Permalink}" data-send="true" 
     data-layout="button_count" data-width="450" 
     data-show-faces="true"></div> 
</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=271140516272162"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

如果您需要更多信息,請告知我。

回答

1

夫婦的問題:

如果你的代碼是「靠近頭部標籤」有一個很好的可能性,即DOM將不會被完全填充在執行時,因此,它就會錯過檢測的一些元素。訪問或操縱現有DOM元素的任何腳本需要在之後來到之後,任何創建這些元素的HTML(例如,在</body>之前)。

fjs = d.getElementsByTagName(s)[0]確實很脆弱,因爲它取決於一個特定的腳本元素,它是文檔中第一個腳本元素。把一個ID在該腳本,然後看看它與getElementByID()

爲了回答您的意見,我的意思是這樣 (在HTML)

<script id="fjs" type="text/javascript" src="..." </script> 

(在處理腳本)

fjs=d.getElementByID('fjs'); 

換句話說,不要指望某個特定的<script>元素是您文檔中的第一個元素,您可以在其上粘貼一個id標籤,以便無論它在哪裏都可以找到它。

+0

嘿ebohlman,我對你的迴應的第二部分有點困惑。通過在腳本上添加ID並查找它,你的意思是什麼? - 不錯,是一個後來的東西新人。感謝您的幫助! –

+0

編輯答案澄清,所以我可以顯示代碼格式化。 – ebohlman

+0

謝謝!得到它的工作! –