Javascript Facebook开放图&x27;像按钮';-在';比如';

Javascript Facebook开放图&x27;像按钮';-在';比如';,javascript,facebook,facebook-like,facebook-opengraph,Javascript,Facebook,Facebook Like,Facebook Opengraph,我想知道,我希望有一个带有Facebook的开放图(特别是“like”按钮)的登录页,我希望基本上可以将内容设置为显示:无(在用户喜欢某个页面之前,无法记住具体内容。例如,电子商务商店中的一个div,当用户喜欢该页面时,该div设置为display:block,用户可以兑换优惠券代码以获得折扣。) 我想能够做到这一点与div显示 我在Facebook开发者论坛上看到了这段代码: |(摘自) (注意:单击“喜欢”时触发的事件) //这将在用户“喜欢”任何类似的小部件时触发 FB.Event.su

我想知道,我希望有一个带有Facebook的开放图(特别是“like”按钮)的登录页,我希望基本上可以将内容设置为显示:无(在用户喜欢某个页面之前,无法记住具体内容。例如,电子商务商店中的一个div,当用户喜欢该页面时,该div设置为display:block,用户可以兑换优惠券代码以获得折扣。)

我想能够做到这一点与div显示

我在Facebook开发者论坛上看到了这段代码:

|(摘自) (注意:单击“喜欢”时触发的事件)


//这将在用户“喜欢”任何类似的小部件时触发
FB.Event.subscribe('edge.create',函数(href,小部件){
Log.info('youliked'+href,widget);
});
是否可以修改此选项以有效地将div从display:none设置为display:block


非常感谢。

只需将
Log.info()
调用替换为显示
div
的JavaScript即可。在jQuery中:

<script>
  // this will fire when any of the like widgets are "liked" by the user
  FB.Event.subscribe('edge.create', function(href, widget) {
    $('#yourdiv').show();
  });
</script>

//这将在用户“喜欢”任何类似的小部件时触发
FB.Event.subscribe('edge.create',函数(href,小部件){
$('yourdiv').show();
});

只需将
Log.info()
调用替换为显示
div
的JavaScript即可。在jQuery中:

<script>
  // this will fire when any of the like widgets are "liked" by the user
  FB.Event.subscribe('edge.create', function(href, widget) {
    $('#yourdiv').show();
  });
</script>

//这将在用户“喜欢”任何类似的小部件时触发
FB.Event.subscribe('edge.create',函数(href,小部件){
$('yourdiv').show();
});

如果您特别想将div更新为
显示:block
,请使用

<script>
  // this will fire when any of the like widgets are "liked" by the user
  FB.Event.subscribe('edge.create', function(href, widget) {
    $('#divid').css('display','block');
  });
</script>

//这将在用户“喜欢”任何类似的小部件时触发
FB.Event.subscribe('edge.create',函数(href,小部件){
$('#divid').css('display','block');
});
一个警告

您的
edge.create
事件不会激发,除非您在呼叫中使用的URL与您试图激发此事件的URL完全相同

我在example.DEV(我的本地笔记本电脑DEV env)上运行了一个站点,它引用了example.com(live server)上的一个链接,
FB.Event.subscribe()
块中的任何内容都不会运行,直到我上传了文件并从live server启动它


这可能就是为什么到目前为止它还不能正常工作的原因!

如果您特别想将div更新为
display:block
,请使用

<script>
  // this will fire when any of the like widgets are "liked" by the user
  FB.Event.subscribe('edge.create', function(href, widget) {
    $('#divid').css('display','block');
  });
</script>

//这将在用户“喜欢”任何类似的小部件时触发
FB.Event.subscribe('edge.create',函数(href,小部件){
$('#divid').css('display','block');
});
一个警告

您的
edge.create
事件不会激发,除非您在呼叫中使用的URL与您试图激发此事件的URL完全相同

我在example.DEV(我的本地笔记本电脑DEV env)上运行了一个站点,它引用了example.com(live server)上的一个链接,
FB.Event.subscribe()
块中的任何内容都不会运行,直到我上传了文件并从live server启动它


这可能就是为什么到目前为止它还不能正常工作的原因!

我找到了以下解决方案,但您需要jQuery来完成它(可能没有,但我以前就是这么做的)

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="facebook.js"></script>
<script src="jquery.min.js" type="text/javascript"></script>

</head>

<body>
<div id="fb-root"></div>
<script type="text/javascript">
<!--
window.fbAsyncInit = function() {
 FB.init({appId: '133387220039676', status: true, cookie: true, xfbml: true});
 FB.Event.subscribe('edge.create', function(href, widget) {
 // Do something, e.g. track the click on the "Like" button here
    $('#slidingDiv').show();
 });
};
(function() {
 var e = document.createElement('script');
 e.type = 'text/javascript';
 e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
 e.async = true;
 document.getElementById('fb-root').appendChild(e);
 }());
//-->
</script>
<fb:like href="http://www.facebook.com/TheRightMind" layout="standard" show-faces="false" width="450" action="like" colorscheme="light"></fb:like>

<div id="slidingDiv" style="display:none;">
Fill this space with really interesting content that you can
</div>

</body>
</html>

无标题文件
用你能找到的真正有趣的内容填满这个空间

我找到了以下解决方案,但您需要jQuery来完成(可能没有,但我以前就是这么做的)

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="facebook.js"></script>
<script src="jquery.min.js" type="text/javascript"></script>

</head>

<body>
<div id="fb-root"></div>
<script type="text/javascript">
<!--
window.fbAsyncInit = function() {
 FB.init({appId: '133387220039676', status: true, cookie: true, xfbml: true});
 FB.Event.subscribe('edge.create', function(href, widget) {
 // Do something, e.g. track the click on the "Like" button here
    $('#slidingDiv').show();
 });
};
(function() {
 var e = document.createElement('script');
 e.type = 'text/javascript';
 e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
 e.async = true;
 document.getElementById('fb-root').appendChild(e);
 }());
//-->
</script>
<fb:like href="http://www.facebook.com/TheRightMind" layout="standard" show-faces="false" width="450" action="like" colorscheme="light"></fb:like>

<div id="slidingDiv" style="display:none;">
Fill this space with really interesting content that you can
</div>

</body>
</html>

无标题文件
用你能找到的真正有趣的内容填满这个空间

验证喜欢该页面将触发该代码后(尝试
控制台.log(“AOK!”)
),您可以使用以下代码显示

普通的旧JavaScript:

FB.Event.subscribe('edge.create', function(href, widget) {
  document.getElementById("topsecret").style.display = "block";
});
<div id="topsecret" style="display:none;">
  Content Goes Here
</div>
HTML:

FB.Event.subscribe('edge.create', function(href, widget) {
  document.getElementById("topsecret").style.display = "block";
});
<div id="topsecret" style="display:none;">
  Content Goes Here
</div>

您也可以考虑使用Ajax加载命令,因为否则当内容只被隐藏时,很容易使框出现。

FB.Event.subscribe('edge.create', function(href, widget) {
  $("#topsecret").load("mycontent.html");
});

验证喜欢该页面将触发该代码后(尝试
console.log(“AOK!”)
),可以使用以下代码显示

普通的旧JavaScript:

FB.Event.subscribe('edge.create', function(href, widget) {
  document.getElementById("topsecret").style.display = "block";
});
<div id="topsecret" style="display:none;">
  Content Goes Here
</div>
HTML:

FB.Event.subscribe('edge.create', function(href, widget) {
  document.getElementById("topsecret").style.display = "block";
});
<div id="topsecret" style="display:none;">
  Content Goes Here
</div>

您也可以考虑使用Ajax加载命令,因为否则当内容只被隐藏时,很容易使框出现。

FB.Event.subscribe('edge.create', function(href, widget) {
  $("#topsecret").load("mycontent.html");
});

我仍然有这个问题,我似乎无法找到任何解决方案。我知道这是一个巨大的要求这样一个无助的成员,但你可以提供div格式,以配合这段代码的工作吗?谢谢你的时间切伊。我仍然有这个问题,我似乎无法得到任何解决方案的工作。我知道对于这样一个无助的成员来说,这是一个巨大的要求,但是您是否可以提供div格式来伴随这段代码来工作呢?谢谢您的时间。