停止 Vimeo 在 Jquery Infinite Carousel 中的上一个/下一个按钮上嵌入

Posted

技术标签:

【中文标题】停止 Vimeo 在 Jquery Infinite Carousel 中的上一个/下一个按钮上嵌入【英文标题】:Stop Vimeo embeds on previous / next buttons within Jquery Infinite Carousel 【发布时间】:2011-12-01 19:57:28 【问题描述】:

我的设置:http://jsfiddle.net/ASa2K/1/

我有一个 Jquery Infinite Carousel,其中将嵌入 Vimeo 视频。

单击“下一个”或“上一个”时,我希望它停止所有视频。目前它在点击时继续播放视频。

我环顾四周,但找不到与我的问题相关的具体内容。我没有你猜到的那么精通js!

【问题讨论】:

【参考方案1】:

Hej 所以你们首先可以在这里找到 api

http://vimeo.com/api/docs/player-js

因为它是一个 iframe,所以没有与它通信的向后兼容方式 但是新浏览器有一个叫做 postMessage 的东西。 所以你可以写这个。

$("iframe").each(function() 
  this.contentWindow.postMessage(' "method": "pause" ', "http://player.vimeo.com");
);

页面上记录了不同的方法。但这会暂停所有玩家。

【讨论】:

谢谢。我不是 100% 清楚如何将上述脚本与我的上一个/下一个按钮链接。 等等,我说得太早了。我对其他 Vimeo 视频进行了尝试,但突然无法正常工作。可以暂停视频,但是当关注当前视频时,它会自动恢复并播放。您的示例保持视频暂停,直到再次单击播放,这就是我想要的。 这让我觉得我错过了一些东西。是你在 js 中唯一改变的东西吗? 请注意,在我的示例中,我已将 &api=1 标记设置为 .... 我的示例正在按您的意愿工作 您好,想知道您是否可以进一步帮助我。我想在我的标记中的常规 div 上使用这个确切的功能。因此,当它被点击时,它会停止所有视频。我不是 100% 确定如何实现上述代码来做到这一点。谢谢!【参考方案2】:

这是一个示例,您可以通过单击按钮进行调用:

<script>
    function pauseAllVideos()
        $("iframe").each(function() 
            this.contentWindow.postMessage(' "method": "pause" ', "http://player.vimeo.com");
        );
    
</script>

这是您的 html 中的代码:

<a href="#" onClick="pauseAllVideos(); return false;">PAUSE VIDEOS</a>

【讨论】:

【参考方案3】:

@megakorre 的解决方案对我有用。简单易行。

一个警告:如果您的域使用 https,除非您像这样将 http 更改为 https,否则它将无法工作:

this.contentWindow.postMessage(' "method": "pause" ', "https://player.vimeo.com");

【讨论】:

以上是关于停止 Vimeo 在 Jquery Infinite Carousel 中的上一个/下一个按钮上嵌入的主要内容,如果未能解决你的问题,请参考以下文章

检查 iframe 内是不是加载了 Vimeo 视频 - jquery

jQuery Vimeo播放器

Vimeo API:使用 HTTP PUT 和 blueimp 的 jQuery fileupload 进行流式上传

视频没有播放嵌入式vimeo视频jquery fancybox?

使用 Jquery 为 viemo 嵌入式视频创建一个站点 [重复]

使用Vimeo API进行视频控制