2011-07-07 138 views
0

我一直在嘗試使Facebook頁面顯示不同的內容,取決於喜歡/不同。我在下面的代碼中找到了這個網站上的代碼,但是在Chrome瀏覽器中有一定的作用 - 我也收到了一個令人討厭的彈出窗口,那就是XD Proxy。在Firefox中彈出,然後在完美工作之前消失。 任何幫助將不勝感激。在Facebook上顯示像/不像頁面

的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 
     } 
    }); 

}); 

許多在此先感謝任何人,可以幫助。並感謝以前的海報讓我走得這麼遠。

+0

通過頁片/月(apps.facebook.com/foo)這是一個第三方網站或Facebook上本身? –

+0

這可能太明顯了,但您是否正在加載Facebook API?我沒有看到你的代碼被拖入任何地方。 –

回答

1

您的fql查詢在page_id後需要一個空格。 它應該閱讀:

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