時々必要になる、XFBMLの再パース処理。
メモ的に残します。
今はサイトには必須となってる「いいね!」ボタン。
実装方法はいくつかあり、
- HTML5
- XFBML
- IFRAME
- URL
とFacebook Deveropersで詳細に紹介されています。
今回、XFBMLで実装する必要があり、実装したのですが、
「いいね!」ボタンを、非表示(display: none)の要素配下に追加して
後に表示すると、「いいね!」ボタンが表示されない現象がありました。
たぶん仕様みたいなものだと思うのですが、こういった場合は
XFBMLを再パース(再構築)する必要があります。
パース方法は以下。
これをすると画面内すべてのXFBMLがパースされます。
1 |
FB.XFBML.parse(); |
それだと効率悪いとか、単一の要素のみで良い場合は以下。
1 |
FB.XFBML.parse(document.getElementById('hoge')); |
jQueryだとこんな感じかなと。
1 |
FB.XFBML.parse($('#hoge').get(0)); |
こうすることで、XFBMLが再パースされて、「いいね!」ボタンが表示されるようになります。
(・∀・)イイネ!!
詳しくはこちらに記載されてます。