8

xfbml を使用したくありません。以下のようなボタンのような iframe を使用する必要があります。しかし、それは発射ではありませんedge.create

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
// initalize your Facebook App
  FB.init({
    appId  : '113869198637480',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
  });
// subscribe to the event
FB.Event.subscribe('edge.create', function(response) {
  alert('you liked this');
});
FB.Event.subscribe('edge.remove', function(response) {
  alert('you unliked this');
});
</script>

<iframe id="test" src="http://www.facebook.com/plugins/like.php? 
       href=http://google.com/&amp;
       layout=button_count&amp;
       show_faces=false&amp;
       width=50&amp;
       action=like&amp;
       colorscheme=light&amp;
       height=21" 
       scrolling="no" frameborder="0" 
       style="border:none; overflow:hidden; width:50px;  
              height:21px;" 
       allowTransparency="true">
4

1 に答える 1

8

これは完全に予想されます。javascriptコールバックは、「いいね」ボタンを含むソーシャルプラグインのJavascriptバージョンを使用している場合にのみ使用できます。

これは「いいね」ボタンのドキュメントに記載されています:

How do I know when a user clicks a Like button?

If you are using the XFBML version of the button, you can subscribe to the 'edge.create' event through FB.Event.subscribe.

「いいね」ボタンをiFrameとして直接含めると、FacebookのサーバーからのイベントをJavaScriptコードに伝播する方法がありません-Facebook Javascript SDKは、XFBMLバージョンの「いいね」ボタンを使用するときにこの通信を処理します

于 2012-12-29T20:48:13.960 に答える