0

私のページには Facebook のようなボタンがあり、それがクリックされたとき (およびどのユーザーなど) を追跡したいと考えています。以下の JavaScript を実行しています (「実行中」というアラートが表示されます) が、「URL が気に入った...」というアラートは表示されません。ここにすべてのロジックを配置します。

$( document ).ready(function() {    
  (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";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  window.fbAsyncInit = function() {
    alert("running")
    FB.Event.subscribe('edge.create',
      function(response) {
        alert('You liked the URL: ' + response);
      }
    );
  };
});

いいねボタンがクリックされたときにこれが起動しない理由を誰かが知っていますか?

編集 設定しようとするときにこのページを参照しています: https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

EDIT 2 iframe経由でいいねボタンを追加しています(ボタン自体は正しく機能します):

<span id="facebook-share-btn">
  <iframe src="//www.facebook.com/plugins/like.php?href=<%= item.short_path %>&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;font&amp;colorscheme=light&amp;action=like&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:48px; height:22px;" allowTransparency="true">
  </iframe>
</span>
4

1 に答える 1

0

iframe メソッドではコールバックが (明らかに) 機能しないことが判明しました。HTML5 メソッドに切り替えましたが、問題なく動作します。

設定:

<div id='fb-root'></div>
<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_US/all.js#xfbml=1";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));

  FB.init({appId: "myId", status: true, cookie: true});

</script>

いいねボタン:

<div class="fb-like" 
     data-href="myurl.com" 
     data-send="false" 
     data-layout="button_count" 
     data-width="450" 
     data-show-faces="false">
</div>
于 2013-06-21T17:37:25.983 に答える