Fancybox用youtube api打开空白页面

时间:2013-01-20 13:03:28

标签: javascript fancybox youtube-api

当我输入类似的链接时,Fancybox工作正常 “http://www.youtube.com/embed/WQNQU_EQy6I” 但是我从youtube频道获取视频,视频的链接就像 “http://www.youtube.com/watch?v=Neff9scaCCI&feature=youtube_gdata” 并且fancybox无法使用这些链接。

请帮忙。

JS -

<script type="text/javascript">
            $(document).ready(function() {
                $(".various").fancybox({
                    maxWidth    : 800,
                    maxHeight   : 600,
                    fitToView   : false,
                    width       : '70%',
                    height      : '70%',
                    autoSize    : false,
                    closeClick  : false,
                    openEffect  : 'elastic',
                    closeEffect : 'none'
                });
            });
</script>

HTML -

<a class="various fancybox.iframe" href="http://www.youtube.com/watch?v=Neff9scaCCI&feature=youtube_gdata">Video</a>

解: 我用它来解决这个问题。 $ vd将视频的url存储在其中,通过此代码我将该链接转换为工作链接。

$vd = preg_replace('/.+(\?|&)v=([a-zA-Z0-9]+).*/', 'http://youtube.com/embed/$2', $vd); 

然后用它

<a class="various fancybox.iframe" href="<?php echo $vd;?>">Video</a>

希望能帮助像我这样的人寻找这个问题的解决方案。

1 个答案:

答案 0 :(得分:0)

您需要使用fancybox媒体功能。尝试将JS更改为:

    $(document).ready(function() {
    $('.fancybox-media').fancybox({
        openEffect  : 'none',
        closeEffect : 'none',
        helpers : {
            media : {}
        }
    });
});

并尝试将链接更改为:

<a class="fancybox-media" href="http://www.youtube.com/watch?v=opj24KnzrWo">Video</a>

有关详细信息,请访问fancybox网站:http://www.fancyapps.com/fancybox/#examples

我希望这有帮助!