XFBMLを再パースする

時々必要になる、XFBMLの再パース処理。
メモ的に残します。

 

今はサイトには必須となってる「いいね!」ボタン。

実装方法はいくつかあり、

  • HTML5
  • XFBML
  • IFRAME
  • URL

Facebook Deveropersで詳細に紹介されています。

 

今回、XFBMLで実装する必要があり、実装したのですが、
「いいね!」ボタンを、非表示(display: none)の要素配下に追加して
後に表示すると、「いいね!」ボタンが表示されない現象がありました。

 

たぶん仕様みたいなものだと思うのですが、こういった場合は
XFBMLを再パース(再構築)する必要があります。

 

パース方法は以下。

これをすると画面内すべてのXFBMLがパースされます。

 

それだと効率悪いとか、単一の要素のみで良い場合は以下。

 

jQueryだとこんな感じかなと。

 

こうすることで、XFBMLが再パースされて、「いいね!」ボタンが表示されるようになります。
(・∀・)イイネ!!

 

詳しくはこちらに記載されてます。