我正在开发一个javascript的Facebook应用程序,我有一个问题,使用FB.ui打开一个对话框在Facebook墙上分享。我有这段代码:
$('#share_button').click(function(){
FB.ui(
{
method: 'feed',
name: photo.getName(),
link: photo.getUrlView(),
picture: +photo.getUrl(),
caption: photo.getCaption(),
description: photo.getDescription()
},
function(response) {
if (response && response.post_id) {
alert('Post was published.');
} else {
alert('Post was not published.');
}
}
)
});
当我点击其他链接时,用js刷新的值(名称,描述符,图片,链接,标题)。当我第一次点击分享内容时,一切正常,但是当内容改变并且我分享新内容时,Facebook会显示新的对话框,但也会显示旧的...打开所有以前的窗口。< / p>
答案 0 :(得分:1)
可能会发生此问题,因为您多次将回调绑定到click事件......
当您单击另一个链接以刷新Facebook对话框内容时,您绑定click
事件以显示该对话框,如果再次绑定click
事件,则有两个回调绑定到{然后,显示两个对话框,显示两个对话框,因为在点击的事件上会调用两个回调。
要解决此问题,您需要在绑定新回调之前清除绑定到click
事件的回调,因此,您的代码应如下所示:
click
希望这有帮助!