我开发了以下语言: http://www.mandanemedia.com/freelancer/
<iframe id="targetFrame" src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages/MandaneMediacom/275554465891715&width=300&colorscheme=light&show_faces=true&border_color=%23ffffff&stream=false&header=false&height=258" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:300px; height:258px;" allowtransparency="true"></iframe>
这是一个iframe,在2秒后显示人们喜欢facebook的按钮。现在问题是客户想要当用户按下按钮时,这个iframe会被关闭。
如何在这种情况下捕获火灾事件。 我可以通过facebook事件捕获它,或者我可以通过javascript捕获它吗?
答案 0 :(得分:1)
如果您使用社交插件的iframe版本,则无法跟踪事件。您需要使用HTML5或FBML(建议使用HTML5)
您必须在身体标记后加上:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId:'YOURAPPID',channelUrl : '//YOURDOMAIN/channel.html',status:true,cookie: true, xfbml: true });
FB.Event.subscribe('edge.create',
function(response) {
$('#floating-box').hide();
}
);
};
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/es_ES/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
你的div应该是这样的:
<div id="floating-box">
<div class="fb-like-box" data-href="https://www.facebook.com/pages/MandaneMediacom/275554465891715" data-width="300" data-height="258" data-show-faces="true" data-stream="true" data-header="true"></div>
</div>
<强>来源:强> https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/