使用fancybox在特定的开始时间启动vimeo视频

时间:2015-02-18 18:01:52

标签: jquery fancybox fancybox-2 vimeo

我可以通过在视频网址中添加#t = 1m15s来在特定的起点开始制作视频。例如:     https://vimeo.com/channels/staffpicks/119293996#t=1m15s

但是当我使用fancybox媒体助手时,它似乎从网址中删除#t = 1m15s并且不会从所需的时间开始。

任何人都知道如何使用fancybox在所需的开始时间启动视频?

更新

以下是我正在使用的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css" type="text/css" media="screen" />
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-media.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $(".fancybox").fancybox();
            $('.fancybox-media').fancybox({
                openEffect  : 'none',
                closeEffect : 'none',
                helpers : {
                    media : {}
                }
            });
        });
    </script>

<a href="https://vimeo.com/channels/staffpicks/119293996#t=1m15s" class="fancybox-media">test</a>

这是一个jsfidlle:http://jsfiddle.net/8z3ueL23/

2 个答案:

答案 0 :(得分:1)

查看at this line in jquery.fancybox-media.js,正则表达式不处理哈希。哈希需要被剥离并附加到玩家网址。

我建议提交错误。

答案 1 :(得分:1)

虽然您可以提交错误,但您始终可以使用此格式将其他参数传递给vimeo

jQuery(document).ready(function ($) {
    $(".fancybox-media").fancybox({
        helpers : {
            media : true
        },
        vimeo : {
            "t" : "1m15s"
        }
    });
}); // ready

问题是参数是使用&符号附加到URI的,但vimeo也支持&#t=1m15s格式: player.vimeo.com/video/{video_id}?autoplay=1&#t=1m15s

出于这个原因,您可以尝试传递哈希,如:

vimeo : {
    "#t" : "1m15s"
}

问题是fancybox媒体助手将编码哈希并产生类似的东西:

player.vimeo.com/video/{video_id}?autoplay=1&%23t=1m15s

...不受支持。

作为(n)(丑陋)解决方法,您可以在time回调中添加(未编码的)哈希 afterLoad参数,例如

afterLoad : function () {
    var _src = $(".fancybox-iframe").attr("src") + "&#t=1m15s";
    $(".fancybox-iframe").attr("src", _src);
}

JSFIDDLE

注意我们仍然需要加载媒体助手js文件