1

我有一个提要帖子 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);

如何确保点击发布的提要对话框自动关闭?
我注意到回调并不总是被触发,下面的这种尝试并不总是有效

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

2 回答 2

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,并且该对话框将在页面加载时自动关闭。

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

于 2012-09-06T10:23:01.187 回答
4

根据文档, next 不是参数。

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

演示

希望这可以帮助

于 2012-05-24T09:26:36.747 回答