【发布时间】: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