2012-03-19 11 views
0

これは私のcodeです、私は "私のようなプラグインを" レンダリングプラグインを動的に追加する方法は?

HTML

<div id="fb-root"></div><script>window.fbAsyncInit = function() { FB.init({ appId: '1234', channelUrl: 'http://www.mywebsite.com/support/channel.html', status: true, cookie: true, xfbml: true }); }; (function(d) { var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; if (d.getElementById(id)) { return; } js = d.createElement('script'); js.id = id; js.async = true; js.src = "//connect.facebook.net/en_US/all.js"; ref.parentNode.insertBefore(js, ref); } (document)); </script> 

<fb:like href="http://www.google.com" send="false" layout="button_count" width="auto" show_faces="true" font=""></fb:like> 

<div style="padding-top:30px;"> 
    <a id="addNewLink" href="javascript:void(0);">Add New Facebook's "I Like"</a> 
</div> 

<div style="padding-top:30px;" id="newFBContent"></div> 

jQueryのページの読み込みに

$('#addNewLink').click(function() { 
    $('#newFBContent').html('<fb:like href="http://www.facebook.com" send="false" layout="button_count" width="auto" show_faces="true" font=""></fb:like>') 
}); 

。リンクをクリックするより新しいものを追加して、それをレンダリングしたいと思います!実際に、.jsライブラリを再度追加するとクラッシュします(明らかに)。

どうすればいいですか?

ご注意:私はiFrameを避けたいです!

+0

[FacebookタグはJqueryを使用して動的に生成されるとレンダリングされません](http://facebook.stackoverflow.com/questions/3305658/facebook-tags-dont-render-when-generated-dynamically-using-jquery) –

答えて

4

これは、仕事をする必要があります:あなたはDOMに新しいコンテンツを追加した後

FB.XFBML.parse(document.getElementById("newFBContent"), function() { 
    //plugin rendered 
}); 

をあなたはFB.XFBML.parseを呼び出す必要があります。

+0

回答のタイムスタンプが考慮されていないのはちょっと残念です。 ;) –

+0

よくできました! :)〜を見てニース-1を見てくださいahha – markzzz

+1

@ markzzz、あなたは本当に誰がdownvoterを知ることができません(もし彼が質問に答えた場合でも)。彼が現れて、理由を説明してくれることを祈ってみましょう(私にとっては、それは単なる犬ですが、近い票が必要です)。 ;) –

3

あなたは試す、1行を逃した:


$('#addNewLink').click(function() { 
    $('#newFBContent').html('<fb:like href="http://www.facebook.com" send="false" layout="button_count" width="auto" show_faces="true" font="" ></fb:like>') 
//and parse 
     FB.XFBML.parse(document.getElementById('newFBContent')); 

}); 
+0

ありがとう! 〜を見てニース-1 :) – markzzz

3

をするだけのページへXFBMLの要素を追加した後FB.XFBML.parseに呼び出します。

XFMBLタグが解析されるルートノードを指定することもできます。

関連する問題