Javascript 捕捉Facebook评论框的关闭或发布到Facebook事件
新的类似Facebook的按钮有一个评论框,如下面的截图所示 我正在使用Facebook的XFBML解决方案在我的页面上显示like按钮 使用JavaScript,我成功地捕捉到当按下like按钮时触发的事件,但现在我需要一种方法来检测用户是否按下Post to Facebook按钮或关闭对话框 以下是适用于like按钮事件的代码段:Javascript 捕捉Facebook评论框的关闭或发布到Facebook事件,javascript,facebook,facebook-like,facebook-javascript-sdk,Javascript,Facebook,Facebook Like,Facebook Javascript Sdk,新的类似Facebook的按钮有一个评论框,如下面的截图所示 我正在使用Facebook的XFBML解决方案在我的页面上显示like按钮 使用JavaScript,我成功地捕捉到当按下like按钮时触发的事件,但现在我需要一种方法来检测用户是否按下Post to Facebook按钮或关闭对话框 以下是适用于like按钮事件的代码段: (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.g
(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=1427863577435532";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function() {
FB.init({
status: true,
cookie: true,
xfbml: true
});
FB.XFBML.parse();
FB.Event.subscribe('edge.create', function(href) {
console.log("edge.create");
});
}
我用来显示按钮的代码是:
<fb:like href="https://developers.facebook.com/docs/plugins/" layout="box_count" action="like" show_faces="false" share="false"></fb:like>
我需要制定的最终解决方案是:
完成类似操作时将数据存储到数据库中[设法解决此问题]
关闭对话框或按下“发布到FaceBook”按钮时,当用户完成与对话框的交互时,重新加载页面
有没有人有好主意或建议来解决这个问题或将我推向正确的方向?我通过使用jQuery查看Facebook弹出窗口的高度来解决这个问题,然后让一个计时器在定义的时间间隔内查看弹出窗口在关闭/隐藏弹出窗口时是否仍有相同的宽度变化 使用jQuery获取类似Facebook的按钮的iframe。最简单的方法是将like按钮包装在div中。一旦有了iframe,就将其放入名为fb_like_iframe的变量中 接下来使用以下代码:
var pollTimerFB = window.setInterval(function() {
var fb_iframe_height = jQuery(fb_like_iframe).height();
if (fb_iframe_height < 100) {
window.clearInterval(pollTimerFB);
// Code that needs to be executed when the FaceBook popup is closed
// comes here
}
}, 1000);
使用上述方法将在用户每次按下类似FaceBook的按钮时启动轮询机制
希望Facebook能很快添加一些事件,以便在弹出窗口关闭时使用
var pollTimerFB = window.setInterval(function() {
var fb_iframe_height = jQuery(fb_like_iframe).height();
if (fb_iframe_height < 100) {
window.clearInterval(pollTimerFB);
// Code that needs to be executed when the FaceBook popup is closed
// comes here
}
}, 1000);
FB.Event.subscribe('edge.create', function(href) {
// Code to get iFrame
// Code (from above) to poll if window is open
});