2011-12-29 121 views
0

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

那花哨的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:

'<一类= “视频IFRAME的” href =“http://www.youtube.com/观看?= Psk2Pq03rv0 & fs = 1“>任意文本</a>'

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

回答

1

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

JwPlayer支持,因为4.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 OPTI 'content'而不是'href'将视频嵌入到fancybox中,但我仍然使用href将URL转换为其简化版本。

最后,我假设你正在使用fancybox v1.3.x,因为你正在使用的选项,所以脚本只能使用该版本。