使用 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/