Can';得不到';创建';回调以使用facebook javascript SDK
我正在尝试使用Facebook javascript SDK的“edge.create”回调函数在用户单击页面上的like按钮时发送警报。最终,我的目标是让它重新生成页面上的样式,以便在单击时可以动态调整facebook小部件div的大小。尽管如此,我无法让回调正常工作,即使是警报Can';得不到';创建';回调以使用facebook javascript SDK,facebook,facebook-javascript-sdk,Facebook,Facebook Javascript Sdk,我正在尝试使用Facebook javascript SDK的“edge.create”回调函数在用户单击页面上的like按钮时发送警报。最终,我的目标是让它重新生成页面上的样式,以便在单击时可以动态调整facebook小部件div的大小。尽管如此,我无法让回调正常工作,即使是警报 <html lang="en"> <head> <title></title> <script src="http://connect.fac
<html lang="en">
<head>
<title></title>
<script src="http://connect.facebook.net/en_US/all.js#appId=216985861663967&xfbml=1"></script>
<script>
FB.Event.subscribe('edge.create', function() {
alert('Liked');
});
</script>
</head>
<body>
<div id="fb-root"></div>
<fb:like send="false" layout="button_count" show_faces="false" font=""></fb:like>
</body>
</html>
FB.Event.subscribe('edge.create',function()){
警惕(“喜欢”);
});
你知道为什么这样不行吗?单击按钮时,会显示错误:
不安全的JavaScript试图使用URL访问帧
后来又说域、协议和端口必须匹配。根据您的描述,我猜您是在本地服务器上用Chrome/Safari进行测试 铬/狩猎 尝试将“喜欢”按钮URL设置为现有网址:
<fb:like href="http://google.com" ...
您必须指明您的应用程序id。 如果你仍然没有任何应用程序,只需在facebook的开发者部分创建它 例如:
<script>
window.fbAsyncInit = function() {
FB._https = true;
FB.init({appId: 'YOURAPP', status: true, cookie: true, xfbml: true, channelURL : 'http://www.YOURSITE/channel.html'});
FB.Event.subscribe('edge.create', function(response) {
alert('Liked');
});
};
</script>
window.fbAsyninit=函数(){
FB._https=true;
init({appId:'YOURAPP',状态:true,cookie:true,xfbml:true,channelURL:'http://www.YOURSITE/channel.html'});
FB.Event.subscribe('edge.create',函数(响应){
警惕(“喜欢”);
});
};
注意,在文件中,放置下一行-
<script src="http://connect.facebook.net/en_US/all.js"></script>
你不能在Facebook应用程序中使用alert()
,至少不能在Chrome中使用(如果Firefox仍然允许,他们可能不会使用太久)
改用console.log()
,并打开Javascript控制台查看发出的消息
<script src="http://connect.facebook.net/en_US/all.js"></script>