2011-06-23 6 views
4

以下は私のサイトでFacebook Likeボタン(およびShareボタン)用に使用しているコードです。どこに配置するFB.Event.subscribe

素晴らしいです。 Likeボタンをクリックすると、Facebookアカウントのプロフィールページにすばらしい通知があります。 Facebookは自分のサイトのロゴになるプレビュー画像を自動生成します。素晴らしい。私のサイトのLikeカウンタが正しく集計されます。

[いいね]ボタンにクリックを記録したいとします。 thisページによれば、コードFB.Event.subscribe('edge.create', function(response) {});はこれを可能にします。

ここでコードは正確にFB.Event.subscribe('edge.create', function(response) {});にする必要がありますか?

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> 

    <?php 

    echo '<div id="fb-root"></div>'; 

    echo "<script type='text/javascript'> 
     window.fbAsyncInit = function() { 
     FB.init({appId: 'my_fb_app_id', status: true, cookie: true, 
       xfbml: true}); 
     }; 


     (function() { 
     var e = document.createElement('script'); e.async = true; 
     e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
     document.getElementById('fb-root').appendChild(e); 
     }()); 



    }); 

    </script>"; 


    echo '<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like href="" send="true" layout="button_count" width="450" show_faces="false" font="arial"></fb:like>'; 

?> 

答えて

4

私はこれが正しいかどうかを完全にわからないんだけど、this stack overflow threadによると、あなたがイベントを置くあなたが見た場合、また

window.fbAsyncInit = function() { 
    FB.init({ 
     appId : 'sensored-app-id', 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true // parse XFBML 
    }); 

    /* All the events registered */ 
    FB.Event.subscribe('comments.add', function (response) { 
     // do something with response 
     alert("comment added"); 
    }); 
}; 

(function() { 
    var e = document.createElement('script'); 
    e.src = document.location.protocol + '//connect.facebook.net/fi_FI/all.js'; 
    e.async = true; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

FB.init()後と匿名関数呼び出しの前にコードをサブスクライブthis developer's code exampleの場合、彼はFacebookの初期化コードの後に​​イベント購読コードを置くことがわかります。

+0

そうです。初期化の直後にすべてのイベントサブスクリプションを配置するのが最も簡単です。そうすれば、あなたは何かを見逃すことはありません。 – Femi

関連する問題