0

我试图实现一个简单的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> 

我在页面末尾粘贴了脚本。现在,什么都没有出现 - 没有错误,只是空白。任何帮助获得这项工作将不胜感激。

+1

你会得到什么错误?因为代码似乎是正确的 我确实在这里运行你的代码,它工作http://www.fbrell.com/saved/3d28d7b2918058e73c5a3f2ae481bf4e – Dhiraj 2012-04-21 05:50:11

+0

我没有得到一个错误 - 该框简单地保持不可见。另外,我认为问题可能是我实现Javascript SDK的方式,因为我从来没有使用过它。我更新了我的帖子以显示channel.php文件。 – LonelyWebCrawler 2012-04-21 22:55:28

回答

0

对不起大家,但整件事是由我的一个愚蠢的错误引起的:我有一个阻止评论框的Firefox插件。它实际上工作正常。我为我的错误道歉。

+0

您应该将其标记为答案。 – 2012-04-27 23:46:09

+0

@LonelyWebCrawler您能否告诉我们该Firefox的插件名称 – 2012-06-27 05:35:49

+0

它是断开连接,用于“阻止主要第三方跟踪您前往的网页”。然而,它似乎已经被删除(https://addons.mozilla.org/en-US/firefox/addon/disconnect/)。 – LonelyWebCrawler 2012-06-28 02:29:46