FB.ui проблемы с Feed Dialog, многие диалоговые окна открываются одновременно - PullRequest
0 голосов
/ 24 января 2012

Я занимаюсь разработкой приложения для Facebook на javascript, и у меня возникла проблема с использованием 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 показывает новое диалоговое окно, но также показывает старое ... открыть все предыдущие окна.

1 Ответ

1 голос
/ 24 января 2012

Возможно, эта проблема возникает из-за того, что вы много раз привязываете обратный вызов к событию click ...

Когда вы нажимаете другую ссылку, чтобы обновить содержимое диалога Facebook, вы привязываете событие click кпокажите диалоговое окно, если вы снова связываете событие click, есть два обратных вызова, привязанных к событию click вашей кнопки «Поделиться», затем отображаются два диалоговых окна, потому что для события clicked вызваны два обратных вызова.

Чтобы решить эту проблему, вам необходимо очистить обратные вызовы, связанные с событием click, перед тем как связать новый обратный вызов, поэтому ваш код должен выглядеть следующим образом:

$('#share_button').unbind("click");
$('#share_button').click(function(){
    ...
});

Надеюсь, эта помощь!

...