0

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

我加载的第一个视频带有评论,但之后的每个视频都是独立的,没有评论。关于可能发生的事情有什么快速的想法吗?

这是我正在加载的页面。

<? $video_id = $_POST['video_id']; ?>

<object width="800" height="499"> 
    <param name="movie" value="http://www.youtube.com/v/<? echo $video_id; ?>?modestbranding=1&amp;version=3&amp;hl=en_US&rel=0"></param> 
        <param name="allowFullScreen" value="true"></param> 
        <param name="allowscriptaccess" value="always"></param> 
    <embed src="http://www.youtube.com/v/<? echo $video_id; ?>?modestbranding=1&amp;version=3&amp;hl=en_US&rel=0" type="application/x-shockwave-flash" width="800" height="499" allowscriptaccess="always" allowfullscreen="true"></embed> 
</object>


<h5 style="margin:35px 0 8px 0;">Comment on this Video</h2>
<div id="fb-root"></div>
<script>(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'));</script>

<div class="fb-comments" data-href="http://XXXXXXXXXXXX.com/viewvideo.php?video_id=<? echo $video_id; ?>" data-num-posts="12" data-width="800"></div>

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

<script>
    //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);
            }
        );
    });
</script>

谢谢!!!

4

1 回答 1

0

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

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

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

于 2012-08-21T09:50:01.427 回答