0

これは、私のウェブサイトの Facebook ページに「いいね!」をするためのスクリプトです。

<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'));
</script>
<div class="fb-like-box" data-href="http://www.facebook.com/#!/ConcessionnaireCaronMazda" data-width="300" data-height="100" data-show-faces="false" data-stream="false" data-header="false"></div>
<div id="fb-root"></div>

ボタンがクリックされたときにアラートを出すにはどうすればよいですか??

4

2 に答える 2

2

FB.Event.subscribeイベントをサブスクライブするために使用する必要があります( Like Box Social Pluginedge.createの HTML5 および XFBML バージョンで動作します。

FB.Event.subscribe('edge.create', function(pageURL){
  alert('User liked page: ' + pageURL);
});

注:Facebook JS-SDKがページに完全にロードされている場合にFB.Event.subscribeのみ使用できます。ロードされていることを確認するには、次の関数を使用できます。window.fbAsyncInit

window.fbAsyncInit = function() {
  // Here Facebook JS-SDK is loaded and you may use it.
  // FB.init call should be placed here if you use it...
  // Otherwise you should use next JS-SDK URL
  // `//connect.facebook.net/en_US/all.js#xfbml=1&appId=APPLICATION_ID`

  // Subscribe to event
  FB.Event.subscribe('edge.create', function(pageURL){
    alert('User liked page: ' + pageURL);
  });
}

アップデート:

再確認したところ、イベントをサブスクライブするにはアプリケーションを使用する必要があり、サイト/キャンバス URL 内の URL でのみサブスクライブできるようです。そうしないと、次のエラーがスローされます。

指定された URL はアプリケーション構成で許可されていません。: 指定された URL の 1 つ以上がアプリケーション構成で許可されていません。Connect または Canvas URL のいずれかと一致するか、ドメインがアプリケーションのベース ドメインの 1 つと同じか、そのサブドメインである必要があります。

于 2012-02-19T22:10:57.790 に答える
0

XFMBLバージョンを使用する必要があるようです。その後、FB.Event.subscribeメソッドedge.createを使用できます。

LikeBoxのドキュメント-http://developers.facebook.com/docs/reference/plugins/like-box/

FB.Event.subscribe- http: //developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

于 2012-02-19T20:51:28.377 に答える