【发布时间】:2011-12-01 19:57:28
【问题描述】:
我的设置:http://jsfiddle.net/ASa2K/1/
我有一个 Jquery Infinite Carousel,其中将嵌入 Vimeo 视频。
单击“下一个”或“上一个”时,我希望它停止所有视频。目前它在点击时继续播放视频。
我环顾四周,但找不到与我的问题相关的具体内容。我没有你猜到的那么精通js!
【问题讨论】:
标签: javascript jquery embed jcarousel vimeo
我的设置:http://jsfiddle.net/ASa2K/1/
我有一个 Jquery Infinite Carousel,其中将嵌入 Vimeo 视频。
单击“下一个”或“上一个”时,我希望它停止所有视频。目前它在点击时继续播放视频。
我环顾四周,但找不到与我的问题相关的具体内容。我没有你猜到的那么精通js!
【问题讨论】:
标签: javascript jquery embed jcarousel vimeo
Hej 所以你们首先可以在这里找到 api
http://vimeo.com/api/docs/player-js
因为它是一个 iframe,所以没有与它通信的向后兼容方式 但是新浏览器有一个叫做 postMessage 的东西。 所以你可以写这个。
$("iframe").each(function() {
this.contentWindow.postMessage('{ "method": "pause" }', "http://player.vimeo.com");
});
页面上记录了不同的方法。但这会暂停所有玩家。
【讨论】:
这是一个示例,您可以通过单击按钮进行调用:
<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>
【讨论】:
@megakorre 的解决方案对我有用。简单易行。
一个警告:如果您的域使用 https,除非您像这样将 http 更改为 https,否则它将无法工作:
this.contentWindow.postMessage('{ "method": "pause" }', "https://player.vimeo.com");
【讨论】: