javascript - 当不允许第三方 cookie 时,有什么想法可以优雅地捕捉失败的 facebook 之类的按钮吗?

标签 javascript facebook facebook-like

我正在使用 Facebook JavaScript API 在应用程序中添加“赞”按钮。我遇到了一个问题,如果用户在 Firefox 的浏览器首选项中禁用了第三方 cookie,则单击“喜欢”按钮会导致 auth.prompt 和 edge.remove 事件的无限循环(在允许网站弹出窗口之后) ).只有当用户足够快地关闭弹出提示时,才能打破这个循环。此外,与“喜欢”按钮关联的链接实际上从未被“喜欢”过。

我知道这需要用户更改他们的偏好,但目前没有简单的方法来 a) 检测 Facebook 的 API 导致无限循环,或 b) 优雅地停止循环并提醒用户注意这个问题(即,在没有启用第三方 cookie 的情况下,显示“喜欢”按钮的消息将不起作用)。

我想知道是否有人对如何执行此操作有任何建议。我现在所能想到的就是订阅“auth.prompt”和/或“edge.remove”事件,如果记录了同一链接的多个事件,请提醒用户注意该问题,然后重新加载页面以停止身份验证提示窗口。这在简单的情况下可能没问题,但如果它发生在复杂的应用程序中,可能会导致工作/设置丢失。

有什么想法吗?

编辑:要对此进行测试,请在 Firefox 隐私设置中禁用第三方 cookie,然后尝试访问此页面,并单击示例“喜欢”按钮:http://www.addthis.com/features/facebook-like-button#.Tx8DBPl7cjx

最佳答案

首先,你不应该真正关心这个问题。 如果某人禁用了第三方 cookie,则用户可能已经知道 FB Like 按钮对他不起作用

如果您仍然想尝试解决此问题的方法,您应该使用一种可用的复杂方法来检查第三方 cookie 是否被禁用。这是一个: Check if third-party cookies are enabled

然后,如果 cookie 被禁用,您可以使用 JavaScript Conceal 所有“赞”按钮。

关于javascript - 当不允许第三方 cookie 时,有什么想法可以优雅地捕捉失败的 facebook 之类的按钮吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8993660/

相关文章:

facebook - 如何修复 facebook fatal error : Uncaught CurlException problem

javascript - Facebook 分享计数,暂停直至回调函数完成

facebook - 错误 6 (net::ERR_FILE_NOT_FOUND):找不到文件或目录

Facebook "like"数据结构

javascript - 所有异步 IO Nodejs 代码都使用 libuv 吗?

javascript - TypeError : window. require 不是函数

javascript - 在 JavaScript 中获取 URL 的一部分

javascript - 静态只读成员分配 => TypeError : XXX is not a constructor

facebook-graph-api - 如何获得 Facebook 页面的 Facebook 点赞数?

android - 仅在 Android 和 Blackberry 中使用 Facebook 身份验证?