使用ajax调用vimeo视频

call vimeo video using ajax?

本文关键字:视频 vimeo 调用 ajax 使用      更新时间:2023-09-26

我有这个示例代码,但我相信当我调用未加载的ajax函数时。如何加载外部脚本,如下所示?感谢

       <?php if (is_ajax_request()): ?>
        <div id="movie5" class="movie"></div>
            <script>
                 var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=35014154&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0", "movie5", "500", "281", "9.0.0","expressInstall.swf", { api:1, player_id:"movie5" }, { allowfullscreen:true, allowscriptaccess:'always' });
            </script>

为什么需要ajax调用?它是纯javascript,只需执行它并确保所需的库包含在页面中即可。试试这个。

if($('movie5').length == 0){
    $('<div id="movie5" class="movie" />')
    .appendTo(document.body);//Specify the container where you need this player
}
var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=35014154&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0", "movie5", "500", "281", "9.0.0","expressInstall.swf", { api:1, player_id:"movie5" }, { allowfullscreen:true, allowscriptaccess:'always' });

更新:

理想情况下,当您使用htmlappend等方法时,作为html内容一部分的脚本由jQuery执行。它不起作用,那么页面上一定有一些js错误。

您可以尝试的另一种方法是:只需通过ajax调用获取html内容,并在ajax成功处理程序中设置html内容后执行脚本来初始化播放器。

试试这个。

$.ajax({
   ..
   success: function(data){
         $('.info').html(data);
         //Now initialize the player
         var swf = swfobject.embedSWF("http://vimeo.com/moogaloop.swf?clip_id=35014154&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1&amp;autoplay=0&amp;loop=0", "movie5", "500", "281", "9.0.0","expressInstall.swf", { api:1, player_id:"movie5" }, { allowfullscreen:true, allowscriptaccess:'always' });
   }  
})

最终我想到了使用这个:

在主页中,我有一个元素,然后填充并替换为iframe

主页:

<span class="video clearfix" data-vimeoid="<?php echo the_field('vimeo') ?>"></span> 

要加载的内容页:

var url = this.href + " .content";
  var videoSpan = infoBox.find("span.video");
  var iframe = $('<iframe/>', {
            'frameborder' : 0,
            'width' : '692',
            'height' : '389',
            'src' : 'http://player.vimeo.com/video/'+ videoSpan.data("vimeoid") +'?autoplay=0&api=1'
    });
  videoSpan.replaceWith(iframe);