【问题标题】:FB.ui callback is not happen and the window doesn't close itselfFB.ui 回调未发生且窗口不会自行关闭
【发布时间】: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


【解决方案1】:

找到解决方案:使用旧版本的 FB Javascript SDK (2012),并添加“redirect_uri”。 FB.ui feed not giving a callback

    FB.ui({
        method: 'feed',
        name: '',
        link: '',
        picture: '',
        caption: '',
        description: '',
        redirect_uri:'http://.../self.close.html'
    });

【讨论】:

    猜你喜欢
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多