2012-02-19 152 views
3

我在我的網站上使用Facebook評論,它工作正常,但我無法檢索評論數。無法獲得Facebook評論數

我嘗試了HTML5代碼:<div class="fb-comments-count" data-href="http://www.bmeme.hu/?site=post&amp;id=20">0</div>,但它返回0而不是實數。

我在此處檢查了我的頁面:https://graph.facebook.com/comments/?ids=http://www.bmeme.hu/?site=post&id=20但正如您所看到的,它不會返回任何內容。

爲什麼不能獲得Facebook的評論數?

感謝

更新:這裏是我的代碼,我用:

<div class="fb-comments-count" data-href="<? echo urlencode($siteurl."/?site=post&id=".$value["id"]); ?>" style="display: inline;">0</div> komment

$siteurl = http://www.bmeme.hu 
$value["id"] //the actual post id 

,並在<body>標籤中的第一行:

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

而不是工作s ..

回答

1

您正在以錯誤的方式編碼URL。 (請注意&而不是&amp;)。就像它在您的評論社交插件上定義的一樣。

要獲得通過OpenGraph意見,你應該正確編碼整個URL與encodeURIComponent

http://www.facebook.com/plugins/comments.php?href=http%3A%2F%2Fwww.bmeme.hu%2F%3Fsite%3Dpost%26id%3D20&permalink=1 

更新:

版本comments-count
https://graph.facebook.com/comments/?ids=http%3A%2F%2Fwww.bmeme.hu%2F%3Fsite%3Dpost%26id%3D20 

iframe可以通過URL訪問
既然你還關心「有效的」HTML,您應該使用網頁的URL編碼URL來完成此操作。我已經創建jsFiddle在那裏你可以看到兩種工作方式:http://jsfiddle.net/rFmyX/

+0

如果我把那麼,而不是&然後它不會是W3C有效的代碼。但我試過了,仍然沒有...現在的圖形鏈接罰款,但我只會計數的意見,只有HTML5 – 2012-02-20 00:12:43

+0

@TamásKinsztler,我'我用一些說明更新了我的代碼,並提供了實際工作示例。順便說一句,最好在你的問題中說明:你關心HTML的有效性(不是每個人都這樣做,也不是自動暗示的)。 ;) – 2012-02-20 07:16:01

+0

我看到你的代碼正在工作,但我在我的網站上實現了相同的代碼(正如你所看到的),並且它不工作。如果我打開谷歌鉻調試器,我也有一個錯誤:未捕獲TypeError:無法讀取undefined @ all.js:52的屬性'0'。我在使用和不使用urlencode時遇到了這個錯誤。如果我編寫一個php腳本來檢查graph.facebook.com鏈接上的評論,那麼該網站將會非常緩慢。 – 2012-02-20 20:00:05

2

這是我用來獲得評論計數工作。 (這是有效的HTML 5代碼,使用舊版模板在Facebook網站上的示例)。

//Include this in the footer of your page. 
(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_GB/all.js#xfbml=1&appId=xxxxxxxxxxxxxx"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

現在使用這個div檢索評論數(它會顯示爲0,因爲你使用它的第一次,你大概不會有你的頁面上的任何意見」。

<div class="fb-comments-count" data-href="http://www.yourpagelinkhere.com"></div> 
+0

這個工程!謝謝 – duy 2013-07-14 04:54:05