评论

收藏

[Discuz] Discuz教程-帖子里有多个MP4媒体,默认只播放一个

建站程序 建站程序 发布于:2024-10-13 15:27 | 阅读数:50 | 评论:0

在Discuz中当我们把媒体自动播放设置打开时,如果帖子中有多个视频会同时间播放,非常影响体验,所以我们有必要修改一下,让其只播放第一个。
循环给所有video添加监听事件当前的video开始播时调用pauseAll将当前播放的video的索引传值过去
接收调用传来的索引循环所有video索引与传来的索引不相同的 暂停 重载

方法如下:(选择其中一种就可以了)
1、将以下代码放在页头文件header.htm或页尾文件footer.htm</hend></body>前面就可以了。
2、或者直接在后台>>全局>>SEO设置>>其他>>其他头部信息框内
<script>
window.onload=function(){
  var videos = document.getElementsByTagName('video');//获取所有video
  //循环给所有video添加监听事件 当前的video开始播时  调用pauseAll 将当前播放的video的索引传值过去
  for (var i = videos.length - 1; i >= 0; i--) {
    (function(n){
      videos[n].addEventListener('play',function(){
        pauseAll(n);
      })
    })(i)
  }
  //接收调用传来的索引 循环所有video 索引与传来的索引不相同的 暂停 重载
  function pauseAll(index){
    for (var j = videos.length - 1; j >= 0; j--) {
      if (j!=index){
        videos[j].pause();
        videos[j].load();
      }
    }
  };

}
</script>