0

私は次のリングを開発しました: 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>

2秒後にFacebookのいいねボタンを表示するiframeです。問題は、ユーザーがいいねボタンを押したときにクライアントがこの iframe を閉じたいということです。

この状況のように火災イベントをキャプチャするにはどうすればよいですか。Facebookイベントでキャプチャできますか、それともjavascriptでキャプチャできますか?

4

1 に答える 1

1

ソーシャル プラグインの iframe バージョンを使用している場合、イベントを追跡することはできません。HTML5 または FBML のいずれかを使用する必要があります (HTML5 を推奨)

body タグの後にこれを含める必要があります。

    <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 に答える