0

我开发了以下 ling: 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 like 按钮。现在的问题是,当用户按下喜欢按钮时,客户端希望关闭这个 iframe。

在这种情况下,我如何捕捉火灾事件。我可以通过 facebook 事件捕获它,或者我可以通过 javascript 捕获它?

4

1 回答 1

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/

于 2012-11-20T04:12:57.210 回答