Facebook社交插件和jQuery问题

我正在使用jQuery将一些内容加载到我正在处理的Web应用程序中的类似灯箱的div中。 使用$ POST,我正在调用一个动态填充的页面,其中包含youtubevideo和facebook评论插件。

我加载的第一个video带有评论,但之后的每个video都是自己的,没有评论。 关于可能发生的事情的任何快速想法?

这是我正在加载的页面。

  <param name="movie" value="http://www.youtube.com/v/?modestbranding=1&version=3&hl=en_US&rel=0">   <embed src="http://www.youtube.com/v/?modestbranding=1&version=3&hl=en_US&rel=0" type="application/x-shockwave-flash" width="800" height="499" allowscriptaccess="always" allowfullscreen="true">  
Comment on this Video
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=158242874284543"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); <div class="fb-comments" data-href="http://XXXXXXXXXXXX.com/viewvideo.php?video_id=" data-num-posts="12" data-width="800">

这是带来它的调用(#view_video是保存灯箱的div,.video_wrapper是显示加载信息的div。每个缩略图都在一个div中,有一个videothumb类,其中id被设置为youtubevideo唯一ID):

  //VIEW VIDEO $('.videothumb').click(function() { $('#view_video').fadeIn('fast'); this_video_id = $(this).attr('id'); $.post( 'viewvideo.php', { video_id: this_video_id }, function( data ) { //on complete $('.video_wrapper').html(data); } ); });  

谢谢!!!

当您加载第一页时,也会加载Facebook JS SDK,并解析文档中的XFBML标记。

下次将AJAX加载到文档中时,JS SDK已经嵌入到您的文档中,因此没有任何进一步的发生 – 并且不包括对XFBML标记的新解析。

您必须使用FB.XFBML.parse告诉SDK它应该再次在文档中搜索(动态添加的)XFBML标记。 (最好给它一个DOM节点作为第一个参数,这样它就不会再搜索整个文档,而只会搜索发生动态变化的部分。)