いいねが押された時に JavaScript を実行する

FacebookJavaScript SDK のFB.Event.subscribe を使えば表題に書いたようなことは出来るみたいです。

ドキュメント: FB.Event.subscribe

このメソッドは第一引数にハンドリングするイベント名、第二引数にコールバック関数を書きます。

FB.Event.subscribe('イベント名',
    function() {
        alert('hello facebook');
    }
);

今回の表題のようなことであれば以下のように edge.create を指定します。

FB.Event.subscribe('edge.create',
    function() {
        alert('お前がいいねを押したことを俺は知っている');
    }
);

実際に利用する場合には、JavaScript SDKを利用するための準備を行ってからになります。 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/ja_JP/all.js#xfbml=1;
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
 

を書いて、SDK を読み込ませて、

window.fbAsyncInit = function() {
    FB.Event.subscribe('edge.create', // いいねが押されたら実行する        
        function() {
            alert('お前がいいねを押したことを俺は知っている');
        }
    );
};

fbAsyncInit の関数にSDK読み込み後に実行される処理を書きます。
先ほどの 先ほどのコードを書いてあげれば、いいねした後にアラートが表示されるはずです。

簡単なサンプルを掲載しておきます。

いいねは CodePen.io にされるように設定してあります。

DEMO

See the Pen nLkwx by turusuke (@turusuke) on CodePen

subscribe でハンドリングできるイベントは他にも色々あって、例えば

いいねを取り消した時 → edge.remove
ログインステータスが変わった時 → auth.statusChange

など、コンテンツからユーザのステータス管理が簡単に行えるようになっているようです。

ドキュメント: FB.Event.subscribe