我正在尝试在FB.ui中执行回调函数(发送对话框)。它在加载FB.ui的同一时刻调用,但我想在按“发送”或“取消”按钮后执行回调函数。可以实现吗?
function callback(response) {
alert('message was sent');
}
FB.ui({
method: 'send',
name: 'Dialog',
link: 'http://***.com',
redirect_uri: '****',
description: '***',
picture: '***',
to: userId
},
callback(response)
);
答案 0 :(得分:3)
回调需要一个函数作为参数。在这里,您实际上正在调用该函数。
Facebook实际上会将您传递的功能与响应一起调用。
不是将“callback(response)”作为回调参数传递,而是像这样传递“回调”:
function callback(response) {
alert('message was sent');
}
FB.ui({
method: 'send',
name: 'Dialog',
link: 'http://***.com',
redirect_uri: '****',
description: '***',
picture: '***',
to: userId
},
callback
);
答案 1 :(得分:2)
问题可能已经解决或与OP无关,但这可能有助于其他一些人发现这一点。
类似于Mike Jerema对Fisch回复的评论(由于代表不足而无法评论):
从与发送对话框交互的用户接收的响应回调返回以下三种情况之一:
因此,处理所有用例的回调的正确代码是:
var callback = function(response) {
if (response instanceof Object)
{
//Send clicked
}
else if (response === null)
{
//Cancel clicked
}
else
//X clicked
};
希望这有帮助! :)
答案 2 :(得分:1)
答案 3 :(得分:0)
这让我在饲料对话框上疯了2个多小时,然后作为最后一条沟我添加了显示属性
method: 'feed',
display: 'popup'
这条线不是必需的,因为它是默认的,但它可能会强制对话框正常运行,它让我走出了一个洞。值得一试的发送对话框?