在Feed帖子后,Facebook共享对话框没有关闭

时间:2012-05-24 05:28:51

标签: facebook facebook-javascript-sdk

我有一个JS帖子,如下所示。

var feedObj = {
    method: 'feed',
    link: link,
    picture: imagelink,
    name: name,
    caption: caption,
    description: description,
    redirect_uri: "http://"+(window.location.host)+"/",
    next:null,
    app_id: appid,
    actions: [
        { name: text, link: link }
    ]
};

function callback(response) {
    if(response){
    }
}
facebook.ui(feedObj, callback);

如何确保点击发布的Feed对话框自动关闭? 我注意到回调并不总是被触发,下面的这个尝试总是不起作用

function callback(response) {
    if(response){
        facebook.Dialog.remove(facebook.Dialog._active);
    }
}

2 个答案:

答案 0 :(得分:7)

我有一个简单的技巧来关闭此对话框。这不是一种做这种工作的好方法,但它对我来说效果很好。

首先,您必须在服务器上创建一个页面(例如closewindow.aspx)并将此代码粘贴到页面的正文部分中。

<script src="js/jquery.js" type="text/javascript"></script>
<script>
  $().ready(function() { window.close(); });
</script>

redirect_uri参数属性设置为此页面,如:

redirect_uri=http://www.yousitename.com/closewindow.aspx

现在这次在对话框中,此页面将被称为redirecturl,对话框将在页面加载时自动关闭。

我知道这可能很棘手,但你知道这个工作的感觉。

答案 1 :(得分:4)

根据documentation,next不是参数。

我知道没有调用redirect_uri回调。 由于大多数sdks都支持redirect_uri,因此无需使用它。

DEMO

希望这有帮助