Javascript facebook';比如';用于facebook页面但带有回调的按钮
我想在facebook粉丝页面上使用类似facebook的按钮,但带有回调功能 到目前为止,我只使用以下代码使回调函数与facebook应用程序一起工作-Javascript facebook';比如';用于facebook页面但带有回调的按钮,javascript,facebook,facebook-like,facebook-javascript-sdk,facebook-social-plugins,Javascript,Facebook,Facebook Like,Facebook Javascript Sdk,Facebook Social Plugins,我想在facebook粉丝页面上使用类似facebook的按钮,但带有回调功能 到目前为止,我只使用以下代码使回调函数与facebook应用程序一起工作- <script src="http://connect.facebook.net/en_US/all.js"></script> <script> FB.init({ appId : 'appID', status : true, // check login st
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'appID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channelUrl : 'http://www.my_url.com/channel.html', // channel.html file
oauth : true // enable OAuth 2.0
});
</script>
<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_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
FB.Event.subscribe('edge.create', function(href, widget) {
callbackFunction();
});
</script>
FB.init({
appId:'appId',
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true,//解析xfbml
频道URL:'http://www.my_url.com/channel.html“,//channel.html文件
oauth:true//启用oauth 2.0
});
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_GB/all.js#xfbml=1”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
FB.Event.subscribe('edge.create',函数(href,小部件){
callbackFunction();
});
正如我所说,上面的代码对于facebook应用程序来说很好用。但我真正想做的是绑定类似于此的代码,但要绑定到facebook页面的“喜欢”按钮,如下所示-
<div class="fb-like-box" data-href="https://www.facebook.com/{page-name}" data-width="292" data-height="250" data-show-faces="true" data-stream="true" data-header="true"></div>
有人知道实现这一目标的方法吗
非常感谢。事实上,其行为与已触发事件的行为相同,这意味着您的代码应按预期工作。这是你的电话号码
实际上,您的代码存在一个可能导致意外行为的问题,页面上包含了两个JS-SDK版本,一个是常规的script
tag(带有en_US
locale),另一个是异步的(带有en_GB
locale),您应该只使用一个
请注意,如果您选择第二个(异步)版本,则需要定义
window.fbAsyncint
函数并调用您的FB.init
和FB.subscribe
,从那里…我点击了的链接,我不知道我是否记得正确,但我想我已经在某个地方读到或听说过,只有在使用XFBML版本的like按钮时,这种方法才有效——所以不妨尝试一下。(这确实有效,我最近才用过。)谢谢你。有一段时间我一直在关注这个问题,但是切换到XFBML版本的like按钮允许回调工作。再次干杯-如果你想将你的评论粘贴到答案中,我很乐意接受它作为答案:-)@user1104955,使用HTML5
版本与使用XFBML
相同,事件将被触发,只有iframe
版本缺少这些事件。我删除了其中一个版本,回调仍然没有触发。如果HTML5版本也能正常工作,那么我的代码中是否还有其他错误的地方。尽管请注意,XFBML版本的代码现在正在为我工作。您可以在我提供的实时示例中看到,这些回调完全是针对您在问题中使用的HTML5
version类框代码启动的。
FB.Event.subscribe ('edge.create', function (response) {
alert ('You just liked' + response);
});
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'YOUR_FACEBOOK_APP_ID', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('edge.create', function(response) {
alert('You just liked '+response);
});
};
(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/ru_RU/all.js#xfbml=1&appId=265929413447804";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="fbp-one" style="margin-top: 62px;
margin-left: 60px;
position: absolute;
z-index: 1000;
height: 27px;
background-color: white;">
<div class="fb-like" data-send="false" data-layout="button_count" data-width="100" data-height="200" data-show-faces="false"></div>
</div>
<div class="fbp-two" style="position:relative;">
<div class="fb-like-box" data-href="YOUR_ADRESS" data-width="190" data-show-faces="true" data-stream="false" data-header="true"></div>
</div>