javascript - Facebook 点赞按钮仅加载一次

标签 javascript facebook event-handling facebook-like facebook-javascript-sdk

我已经添加了 facebook like 按钮,但它在页面上只能使用一次。该页面由“图 block ”组成,每个图 block 都有自己的链接,用户应该能够“喜欢”页面上的任何图 block 。被调用函数的代码如下:

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(),其内容在上面给出)以及其他一些社交网络的点赞按钮。

前段时间这个函数的内容开始于:

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

但这现在已被弃用,Facebook 表示不应再使用它并发送如下响应:

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

当我使用 FB.Event.clear 时 - 一切正常。有谁知道如何替代这种缺乏的功能?

感谢您的帮助!

最佳答案

您是否要删除事件监听器?
如果是,则使用 FB.Event.unsubscribe就像你使用 FB.Event.subscribe 一样:

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

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

...

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

关于javascript - Facebook 点赞按钮仅加载一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11342182/

相关文章:

javascript - 水平移动背景图像

facebook - 如果使用移动设备,则从 Facebook 上的自定义选项卡重定向用户

objective-c 触摸事件

javascript - 捕获JavaScript事件 "silently"

android - facebook-sdk-3.0中如何给Facebook访问用户数据的权限

python - JTables 和 Jython 事件

javascript - 是否有可能在javascript中为 "return a getter"

javascript - 无法让 Vue 3 子组件正确识别 prop 数据

javascript - 从 JavaScript 保存文件并设置自定义名称

html - 移动网站上的 Facebook Messenger 客户聊天插件