4

自分のページで好きなものがいくつあるかを追跡したいのですが、何かがおかしいです。Facebookのjavascriptイベントハンドラーを使用していますが、機能しません。

「いいね」または「嫌い」ボタンをクリックするとアラートが表示されますが、何も実行されません。私が間違っているところはありますか?ありがとう!そして、私の英語でごめんなさい。

これが私の更新されたコードです:

<!DOCTYPE html>
<html xmlns:fb="http://ogp.me/ns/fb#">
<head>
<title>FBlike check</title>
</head>
<body>
<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&appId=00000000000000000";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')); 

FB.Event.subscribe('edge.create',
    function(response) {
        alert('You liked the URL: ' + response);
    }
);
</script>
<fb:like href="https://www.facebook.com/XYZ" send="false" layout="button_count" width="200" show_faces="false"></fb:like>
</body>
</html>
4

2 に答える 2

7

まあ..私はこれが完璧に動作するよりも多くのバージョンを試しました:

<script>  
window.fbAsyncInit = function () {
            FB.init({
                appId: 'MY_APP_ID', 
                status: false,
                cookie: false, 
                xfbml: true
            });

            //Additional
            FB.Event.subscribe('edge.create',
                        function (response) {
                            alert('LIKED: ' + response);
                        }
                 );
        };

        // Asynchronously
        (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/en_US/all.js";
            ref.parentNode.insertBefore(js, ref);
        } (document));

    </script>
    <fb:like href="https://www.facebook.com/MY_FB_PAGE" send="false" layout="button_count" width="200" show_faces="false"></fb:like>

それが他の人の役に立つことを願っています。

于 2012-10-12T09:34:07.470 に答える
1

いいねボタンのiframeバージョンを使用しています-javascriptイベントはXFBMLバージョンからのみ発生します-これはいいねボタンのドキュメントで説明されています

ユーザーが「いいね」ボタンをクリックしたことをどのように知ることができますか?

ボタンのXFBMLバージョンを使用している場合は、FB.Event.subscribeを介して「edge.create」イベントをサブスクライブできます。

于 2012-10-12T00:04:24.157 に答える