停止 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
Vimeo API:使用 HTTP PUT 和 blueimp 的 jQuery fileupload 进行流式上传
视频没有播放嵌入式vimeo视频jquery fancybox?