发布或取消后 Facebook 分享对话框不会关闭

标签 facebook facebook-javascript-sdk facebook-share

使用 v2.0 的 Facebook API,在选择“取消”或“发布到 Facebook”按钮后,共享对话框弹出窗口不会关闭。以前,“redirect_uri”参数被传递到 Feed 端点,这可用于关闭窗口。但是,在尝试将此参数传递给 Share 端点时,我收到消息:“使用 FB.ui 时,您不应指定 redirect_uri。”

有什么办法可以强制关闭弹窗吗?如果没有,API 请求是否有问题?当选择“发布到 Facebook”时,链接确实会被共享,所以我认为这不是登录或权限的问题。

API 调用如下所示:

FB.ui({
    method: 'share',
    href: location.href,
)}, function(response){});

最佳答案

尝试添加一个 preventDefault。单击 anchor 标记时,我触发了 FB.ui 操作。当我点击链接时,页面刷新了。然后,当我在弹出窗口中单击“发布到 Facebook”时,我认为回调无处可去。

对我有用的:

handleFbShare = (e) => {
  e.preventDefault();
  FB.ui({
    method: 'share',
    display: 'popup',
    href: 'https://your-url/',
  }, function(response){});
}

(...)

<a href="" className='button__facebook' onClick={this.handleFbShare}>Share on Facebook</a>

希望对您有所帮助!

关于发布或取消后 Facebook 分享对话框不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28032112/

相关文章:

iphone - 如何在 iOS 6 中登录 facebook?

ios - 上传 Facebook 照片并自动注销用户(Kiosk 应用程序)

javascript - 将自定义文本传递给新的 Facebook 共享器按钮

javascript - Facebook FB.ui,Feed 消息对象不工作

ios - 与 Facebook 共享在 iOS 11 上不再工作

android - FBSDK 共享在 react-native 应用程序中不起作用。仅在某些安卓设备上

iphone - iPhone/iPad 上的 Facebook "Like"

javascript - Firefox 42 浏览器中的 Facebook 'like' 按钮未显示

javascript - 如何循环收集来自 Facebook API 请求的响应?

javascript - 网站上的 Facebook 共享按钮