【问题标题】:Displaying like / unlike pages in facebook在 facebook 中显示喜欢/不同的页面
【发布时间】:2011-07-07 10:54:37
【问题描述】:

我一直在尝试制作 facebook 页面,该页面将根据喜欢/不喜欢显示不同的内容。我在这个网站上找到了下面的代码,它在一定程度上有效,但在 Chrome 浏览器中无效——我还收到了一个令人讨厌的弹出窗口,即 XD 代理。在 Firefox 中,这会弹出,然后在完美运行之前消失。 任何帮助将不胜感激。

Index.html(显示在 iFrame 中)

    <!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8' />

    <title>BASE</title>

    <link rel='stylesheet' href='css/style.css' />

    <!--[if IE]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
    <script src='js/example.js'></script>
</head>

<body>

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({
    appId  : '114317821995273',
    status : true, 
    cookie : true, 
    xfbml  : true  
  });
</script>


<div id="container_notlike">
YOU DONT LIKE
</div>

<div id="container_like">
YOU LIKE
</div>



</body>

</html>

Javascript 是:

$(document).ready(function(){

    FB.login(function(response) {
      if (response.session) {

          var user_id = response.session.uid;
          var page_id = "187015391355550"; //Test Page
          var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
          var the_query = FB.Data.query(fql_query);

          the_query.wait(function(rows) {

              if (rows.length == 1 && rows[0].uid == user_id) {
                  $("#container_like").show();

                  //here you could also do some ajax and get the content for a "liker" instead of simply showing a hidden div in the page.

              } else {
                  $("#container_notlike").show();
                  //and here you could get the content for a non liker in ajax...
              }
          });


      } else {
        // user is not logged in
      }
    });

});

非常感谢任何可以提供帮助的人。感谢之前的海报让我走到了这一步。

【问题讨论】:

  • 这是在第三方网站上还是通过页面选项卡/画布 (apps.facebook.com/foo) 在 Facebook 本身上?
  • 这可能太明显了,但您是否正在加载 Facebook API?我没有看到在您的代码中的任何地方被拉入。

标签: javascript facebook facebook-like


【解决方案1】:

您的 fql 查询在 page_id 之后需要一个空格。 它应该是:

var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+" and uid="+user_id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多