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

Qui*_*Par 1 facebook facebook-javascript-sdk

我有一个Feed帖子如下.

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);
Run Code Online (Sandbox Code Playgroud)

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

function callback(response) {
    if(response){
        facebook.Dialog.remove(facebook.Dialog._active);
    }
}
Run Code Online (Sandbox Code Playgroud)

San*_*iya 7

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

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

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

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

redirect_uri=http://www.yousitename.com/closewindow.aspx
Run Code Online (Sandbox Code Playgroud)

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

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

  • 可能不是官方的方式(不知道是什么),但非常聪明. (3认同)