Feed对话框出现FB.ui问题,许多对话框一次打开

时间:2012-01-23 22:39:20

标签: javascript facebook dialog fb.ui

我正在开发一个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>

1 个答案:

答案 0 :(得分:1)

可能会发生此问题,因为您多次将回调绑定到click事件......

当您单击另一个链接以刷新Facebook对话框内容时,您绑定click事件以显示该对话框,如果再次绑定click事件,则有两个回调绑定到{然后,显示两个对话框,显示两个对话框,因为在点击的事件上会调用两个回调。

要解决此问题,您需要在绑定新回调之前清除绑定到click事件的回调,因此,您的代码应如下所示:

click

希望这有帮助!