2

Facebookのいいねボタンを追加しましたが、ページで一度しか機能しません。ページは「タイル」で構成され、すべてのタイルには独自のリンクがあり、ユーザーはページ上の任意のタイルに「いいね」できる必要があります。呼び出された関数のコードは次のとおりです。

FB.Event.subscribe('edge.create', handleResponse(response));

var handleResponse = function(response) {
    var query = FB.Data.query('SELECT like_count FROM link_stat WHERE url="some_url_goes_here"');
    query.wait(function(rows) {
        alert('number of likes ' + rows[0].like_count);
        // ... other code
    });
};

ユーザーが何らかのボタンを押すと、他のソーシャル ネットワークのいいねボタンと一緒に、Facebook の「いいね」ボタン (関数 startFacebook() と呼ばれる ei、その内容は上記のとおり) が表示されます。

少し前に、この関数の内容は次のように始まりました。

FB.Event.clear('edge.create');

しかし、これは現在非推奨であり、Facebook はこれ以上使用すべきではないと言い、次のような応答を送信します。

c   jssdk_error
m   {"error":"Private method used","extra":{"args":"Event.clear"},"appId":"246731078776510"}

FB.Event.clear を使用すると、すべて正常に動作しました。この不足している関数を置き換える方法を知っている人はいますか?

手伝ってくれてありがとう!

4

1 に答える 1

1

イベントリスナーを削除しようとしていますか?
その場合は、使用したのと同じようにFB.Event.unsubscribeFB.Event.subscribeを使用します。

var handleResponse = function(response) {
    ...
}

FB.Event.subscribe("edge.create", handleResponse);

...

FB.Event.unsubscribe("edge.create", handleResponse);
于 2012-07-05T15:03:28.497 に答える