2012-10-11 145 views
1

code爲什麼FB.XFBML.parse()不呈現我的插件?

<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'));  
}); 

我點擊,但按鍵不會被渲染。我錯在哪裏?

回答

5

你要在DOM已指定一個節點。 所以,你不能使用:

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

使用,而不是:

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

,它會正常工作;)

4

嘗試添加該標記

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

在頁面底部,並確保您加入FB腳本。 請看看圖像

enter image description here

請按照下列步驟操作,您將能解決你的問題。

欲瞭解更多信息,請通過這個鏈接 https://developers.facebook.com/docs/reference/plugins/like/

+0

沒有什麼改變人!事實上,我在「load/ready」之後添加了插件,所以如果我將fb-root放在底部也不會改變!試着用那個代碼..沒有:在一個點擊處理程序它不渲染... – markzzz

+0

這很有趣:如果我只寫了'FB.XFBML.parse();'它的工作原理:O – markzzz

+0

哦,好人:) – Soarabh

0

我知道,這是真的老了線程,但這樣做的另一個解決方案問題傳遞給FB.XFBML.parse();不是直接用FB按鈕標記HTML標記,而是用他的父項(最簡單的方法,將FB按鈕換成<div id="your-custom-fancy-id-name"></div>HTML元素,然後將這個最新的DIV傳遞給FB.XFBML.parse()方法)。 :)

相關問題