我試圖實現一個簡單的Facebook social plugin comment框到我的網站。該框的URL不是靜態的,因爲我網站上的每篇文章都有其中之一,但是使用PHP生成。Facebook評論框不工作,但之前工作
我得到它工作很好,但突然它停止了這樣做,現在我不能再把它拿回來。我對Facebook的開發不太熟悉,所以我可能在代碼中犯了一個錯誤。
下面是如何加載的Facebook Javascript SDK(我改變了匿名某些字段):
<div id='fb-root'></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : MY_ID,
channelUrl : 'http://www.mysite.com/channel.php',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = '//connect.facebook.net/en_US/all.js';
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
這裏是我如何初始化評論框:
<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=MY_ID';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class='fb-comments' data-href='http://mysite.com/post?id=<?php echo $id; ?>' data-num-posts='4' data-width='470'></div>
這裏的channel.php:
<?php
header("Pragma: public");
$cache_expire = 60*60*24*365;
header("Cache-Control: max-age=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
<!DOCTYPE html>
<script src="//connect.facebook.net/en_US/all.js"></script>
我在頁面末尾粘貼了腳本。現在,什麼都沒有出現 - 沒有錯誤,只是空白。任何幫助獲得這項工作將不勝感激。
你會得到什麼錯誤?因爲代碼似乎是正確的 我確實在這裏運行你的代碼,它工作http://www.fbrell.com/saved/3d28d7b2918058e73c5a3f2ae481bf4e – Dhiraj 2012-04-21 05:50:11
我沒有得到一個錯誤 - 該框簡單地保持不可見。另外,我認爲問題可能是我實現Javascript SDK的方式,因爲我從來沒有使用過它。我更新了我的帖子以顯示channel.php文件。 – LonelyWebCrawler 2012-04-21 22:55:28