Fancybox电影在www上播放

时间:2011-12-29 10:43:56

标签: jquery html fancybox web

我需要你的帮助。 没有youtube可以使用fancybox作为电影播放器​​吗?只是在服务器上读取文件并显示它?

这就是花哨的youtube脚本:

<script>
    $(document).ready(function(){
        $("a.video").click(function() {
            $.fancybox({
                    'padding' : 0,
                    'autoScale' : false,
                    'title' : this.title,
                    'overlayOpacity' : '.6',
                    'overlayColor' : '#333',
                    'transitionIn' : 'none',
                    'transitionOut' : 'none',
                    'centerOnScroll' : false,
                    'showCloseButton' : true,
                    'hideOnOverlayClick': false,
                    'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
                    'type' : 'swf',
                    'swf' : {
                    'wmode': 'transparent',
                    'allowfullscreen': 'true'
                    }
            });
            return false;
        });
    });
</script>
  • HTML:

'&LT; a class =“video iframe”href =“http://www.youtube.com/watch?=Psk2Pq03rv0&fs=1”&gt;任意文字&lt; / a&gt;'

我可以改变它不使用YT但默认播放器吗?

1 个答案:

答案 0 :(得分:1)

事实上,你总是需要一名球员。 Fancybox不能“本身”用作播放器,但您可以使用除YouTube默认播放器之外的其他播放器,例如JWPlayer。

JwPlayer支持从v4.x开始播放YouTube视频,因此以下选项有效:

pathToPlayer/jwplayer.swf?file=http://www.youtube.com/watch?v=DdR41fe9Zeg

pathToPlayer/jwplayer.swf?file=http://www.youtube.com/v/DdR41fe9Zeg

因此,您可以使用jwplayer而不是默认的youtube播放器轻松地将YouTube视频嵌入您的网页:

<embed src="pathToPlayer/jwplayer.swf?file=http://www.youtube.com/watch?v=DdR41fe9Zeg" type="application/x-shockwave-flash" width="640" height="376" />

现在,使用上面提到的相同嵌入技术,您可以调整您的fancybox脚本以使用jwplayer播放您锚点的href中指定的YouTube视频:

使用html:

<a class="video" href="http://www.youtube.com/watch?v=DdR41fe9Zeg" title="test">Arbitrary text</a>

(注意我删除了班级iframe ......不需要)

使用编辑过的脚本:

<script type="text/javascript">
 $(document).ready(function(){
  $("a.video").click(function() {
   $.fancybox({
    'padding' : 0,
    'autoScale' : false,
    'title' : this.title,
    'overlayOpacity' : '.6',
    'overlayColor' : '#333',
    'transitionIn' : 'none',
    'transitionOut' : 'none',
    'centerOnScroll' : false,
    'showCloseButton' : true,
    'hideOnOverlayClick': false,
    'content': '<embed src="jwplayer.swf?file='+(this.href.replace(new RegExp("watch\\?v=", "i"), "v/"))+'&amp;autostart=true&amp;fs=1" type="application/x-shockwave-flash" width="640" height="376" wmode="opaque" allowfullscreen="true" allowscriptaccess="always"></embed>'

    // don't need the following lines
    /*
    'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
    'type' : 'swf',
    'swf' : {
     'wmode': 'transparent',
     'allowfullscreen': 'true'
    } // swf
    */

   }); // fancybox
   return false;
  }); // click
 }); // ready
</script>

请注意,我使用API​​选项“content”代替“href”将视频嵌入到fancybox中,但我仍在使用href转换网址简化版。

最后,我假设您正在使用fancybox v1.3.x,因为您使用的选项使脚本仅适用于该版本。