我可以在fancybox中打开YouTube视频。
我有一个YouTube视频链接的列表,例如:
<a href="http://www.youtube.com/watch?v=PvbqV8W96D0" class="more">Play</a>
和fancuBox:
$("a.more").fancybox({ 'titleShow' : false,'transitionIn' : 'elastic','transitionOut' : 'elastic' });
我不想为每个视频创建新的嵌入对象。
解决方法
这是谢谢,看编辑
<script type="text/javascript"> $("a.more").fancybox({ 'titleShow' : false,'transitionOut' : 'elastic','href' : this.href.replace(new RegExp("watch\\?v=","i"),'v/'),'type' : 'swf','swf' : {'wmode':'transparent','allowfullscreen':'true'} }); </script>
这样,如果用户javascript被启用,它打开一个fancybox与YouTube嵌入视频,如果javascript被禁用,它打开视频的YouTube页面。如果你想要你可以添加
target="_blank"
到每个链接,它将不会验证大多数doctypes,但它会打开链接在一个新的窗口,如果fancybox没有拿起。
编辑
这个,上面的,没有被正确引用,所以代码将不会在这里找到href。你必须这样调用:
$("a.more").click(function() { $.fancybox({ 'padding' : 0,'autoScale' : false,'transitionIn' : 'none','transitionOut' : 'none','title' : this.title,'width' : 680,'height' : 495,'href' : this.href.replace(new RegExp("watch\\?v=",'type' : 'swf','swf' : { 'wmode' : 'transparent','allowfullscreen' : 'true' } }); return false; });
如覆盖在http://fancybox.net/blog#4,复制上面