像按钮不会启动edge.create或edge.remove [英] Like button will not fire edge.create or edge.remove

查看:331
本文介绍了像按钮不会启动edge.create或edge.remove的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个初学者....



我无法获得 edge.create edge.remove 在点击相似按钮时触发。我看到其他人也发布了这个问题,回到2011年,没有解决方案我可以看到。



我的代码如下....




 < meta http-equiv =Content-Typecontent =text / html; charset = iso-8859-1> 
< title> Untitled Document< / title>
< / head>

< body>
< div id =fb-root>< / div>
< script>

(function(d,s,id){
var js,fjs = d.getElementsByTagName(s)[0];
if(d.getElementById(id) return;
js = d.createElement(s); js.id = id;
js.src =//connect.facebook.net/en_US/all.js#xfbml=1&appId= XXX;
fjs.parentNode.insertBefore(js,fjs);
}(document,'script','facebook-jssdk'));

FB.Event.subscribe('edge.create',
function(response){
alert('你喜欢URL:'+ response);
}
);

FB.Event.subscribe('edge.remove',
函数(响应){
alert('你不需要URL:'+响应);
}
);

< / script>
< fb:like href =https://www.facebook.com/XXXsend =truewidth =450show_faces =true>< / fb:like>

< / body>
< / html>


解决方案

你只是不耐烦...: - ) / p>

在您的代码中,您不要等待加载Facebook SDK,这是以异步方式将其放入代码中完成的。所以当调用FB.Event.subscribe时,SDK尚未被初始化,这样就失败了。 (它是否默默地失败,或者您只是忘记查看浏览器错误控制台?)



将SDK加载到window.fbAsyncInit中处理程序,如下所示: https://developers.facebook.com/docs/reference/javascript/


I'm very much a beginner....

I can't get edge.create or edge.remove to fire when a like button is clicked. I see others have posted this problem too, going back to 2011, with no solution I can see.

My code is as follows....

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>
<div id="fb-root"></div>
<script>

(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=XXX";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
    }
);

FB.Event.subscribe('edge.remove',
    function(response) {
        alert('You UNliked the URL: ' + response);
    }
);

</script>
<fb:like href="https://www.facebook.com/XXX" send="true" width="450" show_faces="true"></fb:like>

</body>
</html>

解决方案

You’re just to impatient … :-)

In your code, you don’t wait for the Facebook SDK to load, which is done asynchronously the way you put it in your code. So when FB.Event.subscribe is called, the SDK is not yet initialized, and so that just fails. (Does it fail silently, or did you just forget to look into your browsers error console …?)

Put the code following the loading of the SDK into a window.fbAsyncInit handler, like shown here: https://developers.facebook.com/docs/reference/javascript/

这篇关于像按钮不会启动edge.create或edge.remove的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆