You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击切换视频时如何暂停之前播放的视频?技术求助

解决Tab切换时旧视频延迟停止的问题

修改方案

在openVideo函数的隐藏tabcontent循环中添加暂停视频的代码,确保隐藏旧tab时立刻暂停其中的视频,无需等待新视频加载完成。

修改后的完整代码

<div class="tab">
      <button class="tablinks" onclick="openVideo(event, 'The Walls of Jerusalem')" id="defaultOpen">The Walls of Jerusalem</button> 
      <button class="tablinks" onclick="openVideo(event, 'The Queen of Elfland')">The Queen of Efland</button>
      <button class="tablinks" onclick="openVideo(event, 'The House About Kirk Michael')">The House About Kirk Michael</button> 
      <button class="tablinks" onclick="openVideo(event, 'Lost Lovers Waltz')"> Lost Lovers Waltz</button>
      <button class="tablinks" onclick="openVideo(event, 'I Am a Knight')"> I Am a Knight</button> 
</div>

  <script>
function openVideo(evt, videoName) {
  // Declare all variables
  var i, tabcontent, tablinks;

  // Get all elements with class="tabcontent" and hide them,同时暂停其中的视频
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
    // 新增:暂停当前tab里的Vimeo视频
    const iframe = tabcontent[i].querySelector('iframe');
    if (iframe) {
      iframe.contentWindow.postMessage('{"method":"pause"}', '*');
    }
  }

  // Get all elements with class="tablinks" and remove the class "active"
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(videoName).style.display = "block";
  evt.currentTarget.className += " active";
}

document.getElementById("defaultOpen").click();

</script>

代码说明

  • 新增代码放在隐藏tabcontent的循环内部,每次隐藏一个tab时,自动定位其中的视频iframe,通过postMessage向Vimeo播放器发送暂停指令。
  • Vimeo原生支持JSON格式的指令控制,{"method":"pause"}是标准的暂停命令,'*'用于跨域名适配Vimeo播放器的域名限制。
  • 该修改会在点击新tab的瞬间暂停所有旧视频,彻底解决延迟停止的问题。

内容的提问来源于stack exchange,提问作者user2597644

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:20:41