使用ajax调用vimeo视频?

时间:2012-02-10 02:31:00

标签: php javascript jquery

我有这个示例代码,但我相信当我调用未加载的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>

2 个答案:

答案 0 :(得分:1)

为什么你需要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等方法时,jQuery将执行作为html内容一部分的脚本。它不起作用然后页面上必定有一些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' });

   }  
})

答案 1 :(得分:0)

最终我想出了这个:

在主页面中,我有一个元素,然后我填充并替换为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);