2011-10-20 9 views
2

私は、ページにFacebookのようなボタンを挿入することができますWebアプリケーションを作成しています。彼は、「Facebookなどの挿入」をクリックすると、ウィジェットのコードは次のように見て、挿入されている:Reload Facebookのようなウィジェットは、プログラムでデータhref属性を変更した後

<div id="fb-root"></div>' + 
     '<script>(function(d, s, id) {' + 
     'var js, fjs = d.getElementsByTagName(s)[0];' + 
     'if (d.getElementById(id)) {return;}' + 
     'js = d.createElement(s); js.id = id;' + 
     'js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";' + 
     'fjs.parentNode.insertBefore(js, fjs);' + 
     '}(document, \'script\', \'facebook-jssdk\'));</script>' + 
     '<div class="fb-like" data-href="' + field.url + '" data-send="true" data-width="369" data-show-faces="true"></div> 

次に、ユーザは、「ウィジェットの編集」ボタンをクリックすると、URLとテキスト入力を見ています。彼は、彼が望む任意のURLを入力し、 "保存"をクリックします。この後、data-hrefはURL値を取得します。 上記のすべてが正常に機能しますが、URLの更新時にウィジェットはリロードされません。ウィジェットをリロードするためのメソッドを呼び出す必要があると思います。どうしたらいいですか?

答えて

2

私が知っていた限り、data-href属性はそれを上回るスクリプトが実行されると一度読み込まれます。 div自体がコンテナになり、スクリプトの実行後にLikeプロセスで実際には再生されません。

代わりにXFBML Like-Buttonを使用してみてください。

<fb:like href="http://example.com" send="true" width="450" show_faces="true"></fb:like> 

ユーザーの変更はURLだ

は、あなただけの、そして Facebook's JavaScript SDKを使用して、更新XFBMLを挿入し、既存のようにボタンを破壊し再作成、それに FB.XFBML.parseを呼び出します。

関連する問題