我添加了facebook like button,但它只在页面上运行一次。该页面由“图块”组成,每个图块都有自己的链接,用户应该能够“喜欢”页面上的任何图块。被调用函数的代码如下:
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“喜欢”按钮(e.i。称为函数startFacebook(),其内容在上面给出)以及其他一些社交网络的类似按钮。
前段时间此功能的内容以:
开头FB.Event.clear('edge.create');
但现在已弃用,Facebook表示不应该再使用它并发送这样的响应:
c jssdk_error
m {"error":"Private method used","extra":{"args":"Event.clear"},"appId":"246731078776510"}
当我使用FB.Event.clear时 - 一切正常。有谁知道如何替换这个缺乏功能?
感谢您的帮助!
答案 0 :(得分:1)
您是否尝试删除事件监听器?
如果是,请使用FB.Event.unsubscribe,就像使用FB.Event.subscribe
:
var handleResponse = function(response) {
...
}
FB.Event.subscribe("edge.create", handleResponse);
...
FB.Event.unsubscribe("edge.create", handleResponse);