2012-01-23 11 views
0

私はjavascriptでFacebookアプリケーションを開発していますが、FB.uiを使ってFacebookの壁面で共有するダイアログを開くのに問題があります。FB.ui Feedダイアログの問題多くのダイアログボックスが一気に開く

$('#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.'); 
    } 
} 
) 
}); 

値Iは、他のリンクをクリックしたときのjsでリフレッシュしよう(名前、descripton、画像、リンク、キャプション):私はこのコードを持っています。最初にコンテンツを共有するためにクリックするとOKですが、コンテンツが変更されて新しいコンテンツを共有すると、Facebookは新しいダイアログを表示しますが、古いものを表示します...以前のすべてのウィンドウを開きます。

+0

私たちは、その部分が問題ではないので、それよりも多くのコードを見る必要があります。問題は周囲の部品の構造です。あなたはURLへのリンクを共有できますか? – DMCS

答えて

1

おそらく、この問題は、クリックイベントに何度もコールバックを結合しているために起こる...あなたはFacebookのダイアログ・コンテンツをリフレッシュするために、別のリンクをクリックすると

、ダイアログを表示するclickイベントをバインドclickイベントを再びバインドすると、Shareボタンのclickイベントにバインドされた2つのコールバックがあり、2つのコールバックがクリックされたイベントで呼び出されるため、2つのダイアログが表示されます。この問題を解決するには

、あなたはあなたのコードは次のようになりますする必要があり、新しいコールバックバインドする前にclickイベントにバインドさコールバックをきれいにする必要があり、そう:

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

・ホープこのヘルプ!

+0

あなたは上司です!どうもありがとう。 – erama

関連する問題