Why FB.XFBML.parse() doesnt render my plugin?

10,542

Solution 1

You have to specify a node already in DOM. So, you can't use:

FB.XFBML.parse(document.getElementById('button-facebook'));

use instead:

FB.XFBML.parse(document.getElementById('social-facebook'));

and it will work fine ;)

Solution 2

Try to add this markup

<div id="fb-root"></div>

in bottom of page and make sure you are added FB script. Please have a look the image

enter image description here

Please follow these steps you will able to solve you problem.

For more info please go through this link https://developers.facebook.com/docs/reference/plugins/like/

Share:
10,542
markzzz
Author by

markzzz

Updated on June 04, 2022

Comments

  • markzzz
    markzzz almost 2 years

    My code :

    <a id="render-me" href="javascript:void(0);">Render me</a>
    <div id="social-facebook"></div>​
    
    $('#render-me').click(function (e){
        e.preventDefault();
    
        $('#social-facebook').html("<fb:like id='button-facebook' href='http://www.google.com' send='false' layout='button_count' width='450' show_faces='false'></fb:like>");
        FB.XFBML.parse(document.getElementById('button-facebook'));    
    });
    

    I click, but the button is not rendered. Where am I wrong?

  • markzzz
    markzzz over 11 years
    Nothing change man! In fact I add the plugins after the "load/ready", so also if I put fb-root at the bottom nothing change! Tried with that code..nothing : in a click handler it doesnt render...
  • markzzz
    markzzz over 11 years
    That's funny : if I wrote only FB.XFBML.parse(); it works :O
  • IncredibleHat
    IncredibleHat about 6 years
    "That's funny : if I wrote only FB.XFBML.parse(); it works :O" -- this is because you are re-parsing the ENTIRE page (every plugin). Not just the section you are aiming for.