我正在使用颜色框在页面加载时显示 vimeo 剪辑。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="colorbox.css" />
<link rel="stylesheet" href="style.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="jquery.colorbox-min.js"></script>
<script type='text/javascript' src='bvssp-vimeo.js'></script>
</head>
<a style="display:none;" class="vimeo" href="http://player.vimeo.com/video/67189599?title=0&byline=0&portrait=0&badge=0&autoplay=1">hidden</a>
</body>
</html>
bvssp-vimeo.js 看起来像这样:
jQuery(function($) {
$(".vimeo").colorbox({iframe:true, innerWidth:830, innerHeight:466, open: true});
});
这将弹出一个 iframe 播放 vimeo 剪辑。一切正常。我想知道是否有办法在 vimeo-clip 完成时自动关闭 iframe。这真的可能吗?确定 vimeoclip 何时完成并自动关闭 iframe 的最佳方法是什么?
更新:我使用以下代码更新了 bvssp-vimeo.js 以使其工作:
jQuery(function($) {
$(".vimeo").colorbox({iframe:true, innerWidth:830, innerHeight:466, open: true});
});
window.setTimeout(function() {
$.colorbox.close();
}, 20000);
=========================== 更新2:
我发现上面的解决方案有效,但这并不理想,因为假设视频长 1 分钟,而您将时间设置为 1 分钟。如果您的连接速度较慢并且视频开始缓冲,它也会停止播放迅速地。
一种解决方案是查看 vimeo Froogaloop API,我在这里真的需要帮助:
<!DOCTYPE html>
<html>
<head>
<title>Testar</title>
<link rel="stylesheet" href="colorbox.css" />
<link rel="stylesheet" href="style.css" />
<!-- Inkludera javascript -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="jquery.colorbox.js"></script>
<script src="froogaloop.js"></script>
<!-- <script type='text/javascript' src='bvssp-vimeo.js'></script> -->
</head>
<body>
<script type="text/javascript">
jQuery(document).ready(function($blaha) {
$blaha(".cboxIframe").colorbox({iframe:true, innerWidth:830, innerHeight:466, open: true});
// Enable the API on each Vimeo video
jQuery('iframe.cboxIframe').each(function(){
Froogaloop(this).addEvent('ready', ready);
});
function ready(playerID){
// Add event listerns
Froogaloop(playerID).addEvent('play', play(playerID));
Froogaloop(playerID).addEvent('seek', seek);
Froogaloop(playerID).addEvent('finish', finish);
// Fire an API method
Froogaloop(playerID).api('play');
}
function play(playerID){
alert(playerID + " is playing!!!");
}
function seek() {
alert('Seeking');
}
function finish() {
alert('Finnished');
$blaha.colorbox.close();
}
});
</script>
<a style="display:none;" class="cboxIframe" href="http://player.vimeo.com/video/7100569?api=1&player_id=player2">dd</a>
</body>
</html>
Vimeo API 有一个解决方案,可以在视频结束时停止视频,但我无法使用 colorbox 进行此操作。
colorbox 输出的代码似乎一切正常,如果我从 Firefox 开发人员 webconsole 复制它并将其直接粘贴到文档中,一切正常。这很奇怪...
我究竟做错了什么?
亲切的问候约翰