Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当第三方cookie被禁止时,有什么办法可以优雅地捕捉失败的类似facebook的按钮吗?_Javascript_Facebook_Facebook Like - Fatal编程技术网

Javascript 当第三方cookie被禁止时,有什么办法可以优雅地捕捉失败的类似facebook的按钮吗?

Javascript 当第三方cookie被禁止时,有什么办法可以优雅地捕捉失败的类似facebook的按钮吗?,javascript,facebook,facebook-like,Javascript,Facebook,Facebook Like,我正在使用Facebook JavaScript API在应用程序中添加“like”按钮。我遇到了一个问题,如果用户在Firefox的浏览器首选项中禁用了第三方cookie,单击like按钮将导致auth.prompt然后edge.remove事件的无限循环(在允许站点弹出窗口之后)。只有当用户足够快地关闭弹出提示时,才能打破此循环。此外,与“like”按钮关联的链接实际上从未得到“like” 我知道这需要用户更改他们的偏好,但目前没有简单的方法a)检测Facebook的API导致无限循环,或b

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

我知道这需要用户更改他们的偏好,但目前没有简单的方法a)检测Facebook的API导致无限循环,或b)优雅地停止循环并提醒用户注意该问题(即,显示一条消息,说明如果未启用第三方cookie,“like”按钮将无法工作)

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

有什么想法吗


编辑:要测试这一点,请在Firefox隐私设置中禁用第三方Cookie,然后尝试访问此页面,然后单击示例“喜欢”按钮:

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

如果您仍想尝试解决此问题的方法,则应使用可用的复杂方法之一检查是否禁用了第三方Cookie。以下是一种:


如果cookies被禁用,你可以用JavaScript隐藏所有类似按钮的内容。

恐怕他们没有想到。我在一年前关闭js测试了fb站点,但它到处都不起作用。