我可以通过在视频网址中添加#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/
答案 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);
}
注意我们仍然需要加载媒体助手js文件