【发布时间】:2014-04-23 00:32:04
【问题描述】:
在父页面中,我有一个分享按钮来调用 FB.ui()。我单击按钮并将 FB 共享模式弹出窗口作为一个单独的窗口,然后关闭我的父页面。回到我的 FB 分享窗口,将内容分享到 FB 墙。点击分享按钮后,窗口变成了一个白页(网址为https://www.facebook.com/dialog/feed)。并且没有调用FB.ui()的回调。
我们有解决方案吗?至少我想让回调工作。 我尝试按照这篇文章FB.ui feed not giving a callback 中的建议添加“redirect_uri”,但它并没有改变任何东西。
/* FB init */
window.fbAsyncInit = function() {
FB.init({
appId : '',
status : false,
xfbml : false,
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
shareButton.on('click', function(e) {
submitPost();
});
/* the function for share*/
function submitPost() {
FB.ui({
method: 'feed',
name: '',
link: '',
picture: '',
caption: '',
description: '',
}, function(response) {
if (response && response.post_id) {
// do something
}
});
}
【问题讨论】:
-
除非我们看到您的代码,否则如何理解发生了什么
-
你在哪里打电话
submitPost?我在代码中看不到这一点 -
谢谢,我添加了我的代码。实际上它在正常流程中工作正常,极端情况是如果我打开 FB 分享窗口然后关闭父页面,然后我在 FB 窗口中单击“分享”,帖子被分享但没有发生回调,窗口转到一个空白页。
-
为什么要关闭父窗口?
-
这是用户可能的行为。我想在用户分享帖子后做点什么,但在这种情况下,回调不会发生,所以它会破坏预期的流程。
标签: facebook facebook-javascript-sdk