单击"发送/取消"按钮后禁用Facebook Feed对话框的重定向功能

ene*_*nen 1 facebook facebook-javascript-sdk facebook-ui

以下是我如何将Facebook Feed Dialog实现到我的页面:
HTML标记:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" xmlns:og="http://opengraphprotocol.org/schema/">
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

(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#xfbml=1&appId=***************"; 
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

FB.init({
    appId: '***************', 
    display: 'popup',
    status: true, 
    cookie: true, 
    xfbml: true, 
    oauth: true,
    method: 'send'
});
Run Code Online (Sandbox Code Playgroud)

发送按钮:

<a onclick="javascript:twitter(this); return false;" href="https://www.facebook.com/dialog/feed?display=popup&app_id=***************&name=<name>&link=<link>&redirect_uri=<uri>">
    <div class="fb-container"></div>
</a>
Run Code Online (Sandbox Code Playgroud)

在这里我使用Twitter的弹出脚本因为display:popup不起作用,不知道为什么.

然而,弹出窗口出现,我发送了Feed.但后来我被重定向到redirect_uri.我不想要这个.我只想在单击"发送"或"取消"按钮后关闭弹出窗口.我做了类似于检测按钮是否被点击然后尝试window.close;但没有成功的事情,因为它是一个新窗口(弹出窗口).

有任何想法吗?

CBr*_*roe 6

您当前正在使用对话框的"直接URL"版本 - 并且始终会重定向.

如果你想在弹出窗口中使用它,它将在使用后自行关闭,然后使用FB.ui调用对话框,如对话框文档中的示例所示:https://developers.facebook.com/docs/reference/dialogs /饲料/