私は昨日までxfbmlなしでFacebookの共有ボタンを使用していました。昨日、共有ボタンが機能していないのがわかりました。
昨日まで、fb_shareという名前のアンカー要素のみを追加していましたが、facebookjs-sdkは要素を共有ボタンに変換していました。
<div class="fb-share-con">
<a type="button" name="fb_share">Share</a>
</div>
共有イベントをキャッチしたいとき、「fb-share-con」div要素のクリックイベントに関数を割り当てていましたが、これは正しく機能していました(このコールバックメソッドは正確には良くありませんが、十分です)
理由はわかりませんが、上記のように共有ボタンを使用することはできません。js-sdkはアンカーを共有ボタンに変換しません。Facebookの開発者ページでfb共有ボタンの使用法を探していましたが、上記のように機能する共有ボタンについては何も見つかりません。
私はうまくいく2つの方法を見つけました:
1。fbmlで共有ボタンを追加する:fbml構文を使用してページに共有ボタンを追加します。共有ボタンは正しく機能しますが、今回はコールバック関数を割り当てることができません(少なくともわかりません)。
<fb:share-button type="button"></fb:share-button>
2。FB.uiを使用する:自分で作成したhtml要素にクリックイベントを割り当て、FB.ui()にコールバック関数を与えています。フィードとして共有していますが、これは重要ではありません。この方法はとても良いですが、私はもっとコードを書いています、Facebookは共有ボタン自体を作成しません、それで私が共有ボタンを使いたいなら私はcssで自分で共有ボタンを作るべきです。
FB.ui({
method: 'feed'
,link: window.location.href
,picture: Page.get("image")
,name: Page.get("title")
,caption: '...'
,description: Page.get("description")
},function(r){
console.log("page shared",r);
});
質問:
- 古い方法が機能しなくなったのはなぜですか、この使用法は非推奨ですか?
- fbml共有ボタンにコールバック関数を割り当てることはできますか?
- どちらの方法が最適ですか?
私は英語がほとんどわからないので、簡単な言葉で書いていただければ幸いです。ありがとう