使用Facebook API的v2.0,在选择“取消”或“发布到Facebook”按钮后,共享对话框弹出窗口不会关闭。以前,'redirect_uri'参数传递给Feed端点,这可用于关闭窗口。但是,在尝试将此参数传递给Share端点时,我收到消息:'使用FB.ui时,不应指定redirect_uri。'
有没有办法强制弹出窗口关闭?如果没有,可能是API请求有问题吗?当选择“发布到Facebook”时,链接会被共享,因此我认为这不是登录或权限的问题。
这是API调用的样子:
FB.ui({
method: 'share',
href: location.href,
)}, function(response){});
尝试添加preventDefault。我点击了一个锚标签时触发了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>
希望有所帮助!