8

我的页面上隐藏了一个 Vimeo 视频(通过通用嵌入 iframe)。单击链接将其淡入,单击视频外部(灯箱样式)将其淡出并隐藏 - 但视频继续播放。我在Vimeo 的 API上读到您可以使用 JSON 对象来暂停视频,但我不明白他们在说什么。

HTML:

<img id="show_tide" class="vid" src"#">
<i<iframe id="tide" class="vim" src="http://player.vimeo.com/video/1747304?portrait=0&amp;color=ffffffapi=1" width="726" height="409" frameborder="0"></iframe>

JavaScript:

$('#underlay').click(function() {
    //pause VISIBLE (there are multiple) Vimeo video via API
    $('.vim, #underlay').fadeOut(400);
});
4

4 回答 4

17

您需要从froogaloop 库之一添加。

JS

player=$f(document.getElementById('tide'));// you can use jquery too: $('#tide')[0] 
player.api('pause');

简单得烦人。这是jsfiddle.net 上的一个示例

于 2011-04-08T05:11:31.820 回答
5

我想在不使用 jquery 或 froogaloop 的情况下添加这样的播放/暂停按钮。我不知道为什么,但我讨厌在不需要的时候包含一个库。特别是对于像这样简单的事情。

这是我想出的(我只是为正在搜索的其他人发布这个):

<!DOCTYPE HTML>
<html>
<head>
    <title>Vimeo Test</title>
    <script language="JavaScript">
    var iFram, url;
    function startitup(){
        iFram = document.getElementById('theClip');
        url = iFram.src.split('?')[0];
    }
    function postIt(action, value) {
        var data = { method: action };
        if (value) {
            data.value = value;
        }
        if(url !== undefined){
            iFram.contentWindow.postMessage(JSON.stringify(data), url);
        }
    }
</script>
</head>
<body onload="startitup();">
<iframe id="theClip" src="http://player.vimeo.com/video/27855315?api=1" width="400"     height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen>    </iframe>
<p><button onclick="postIt('play');">Play</button> <button     onclick="postIt('pause');">Pause</button></p>
</body>
</html>
于 2013-05-06T17:27:17.340 回答
1

这是一种使用 froogaloop 库从对我有用的外部 HTML 元素暂停 Vimeo 视频的简单方法:

var iframe = $('.video')[0];
var player = $f(iframe);
$('.button').bind('click', function() {
    player.api('pause');
});
于 2012-07-03T17:35:33.657 回答
0

我参加聚会有点晚了,但我还必须加载froogaloop、 jquery 和 Vimeo API。

请务必附加?api=1&player_id='frame'到嵌入式视频链接的末尾

之后我的代码看起来像这样

<iframe id="frame" src='http://player.vimeo.com/video/199114019?api=1&player_id='frame''></iframe>

$(document).ready(function() {
    $('.nameofyourclass').click(function() {
      $f($('#frame')[0]).api('pause');
    });
});

于 2017-01-15T02:27:05.033 回答