Facebook Feed对话框消失了

时间:2011-07-01 14:48:44

标签: jquery facebook

我正在经历一种奇怪的行为。我正在使用Facebook的feed对话框javascript(FB.ui)。它在一周前工作,但现在不是。当我点击一个按钮时,Facebook窗口会显示,但在加载一段时间后,它会自动消失而不会显示任何错误消息。有任何想法吗?这是我的代码:

HTML:

<a href="#" class="button" id="fb-request">Share with friends</a>

JavaScript的:

$("#fb-request").click(function () {
            FB.ui({
                   method: 'feed',
                   name: 'Check out website',
                   link: 'http://www.website.com',
                   picture: 'http://website.com/f8.jpg',
                   caption: 'A website.',
                   description: 'website.',
                   message: 'website'
               },
               function (response) {
                   if (response && response.post_id) {
                       alert('Post was published.');
                   } else {
                       alert('Post was not published.');
                   }
               }
             );
        });

2 个答案:

答案 0 :(得分:0)

我刚测试了这个,它没有问题。你在javascript控制台窗口中收到任何错误吗?你用appId调用FB.init了吗?是否从Facebook应用设置中指定的域/网址访问该页面?你的网页上有一个id为“fb-root”的div吗?你把那个jquery调用放在document.ready函数中吗?您是否尝试使用其他应用ID,以确保您当前的应用ID尚未被列入黑名单以进行垃圾邮件发送?

我的测试有效:

<!DOCTYPE html>
<html>
<body>
<div id="fb-root"></div>
<a href="#" class="button" id="fb-request">Share with friends</a>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({ appId  : '**yourAppId**', status : true, cookie : true, xfbml  : true });

  $(document).ready(function() {
    $("#fb-request").click(function () {
      FB.ui({
        method: 'feed',
        name: 'Check out website',
        link: 'http://www.website.com',
        picture: 'http://website.com/f8.jpg',
        caption: 'A website.',
        description: 'website.',
        message: 'website'
      },
      function (response) {
        if (response && response.post_id) {
          alert('Post was published.');
        } else {
          alert('Post was not published.');
        }
      });
    });
  });
</script>
</body>
</html>

答案 1 :(得分:0)

最近几周,Facebook在FB.ui对话框中引入了CSS class =“loading”。它与CSS中我们自己的“加载”类冲突。经过10多个小时的调试,我们终于能够解决它了。干得好FB。 - (