h5使用video播放时关掉vant弹窗视频声音还在后台播放

现象:

1、点击遮罩弹窗关闭,弹窗的视频已经用v-if销毁,但是后台会自己从头开始播放视频声音。但是此时已经没有视频dom

2、定时器在打开弹窗后3秒自动关闭弹窗,则正常没有问题。

原来的代码:

javascript 复制代码
//页面
<a @click="handleOpen()">点我打开弹窗</>
<van-popup v-model="isShow" v-if="isShow"  get-container="body" @click-overlay="handleVideoClose">
        <div class="container">
          <video v-if="isShow" id="videoPlay" class="video" controls autoplay="autoplay" :src="videoSrcs" preload></video>
        </div>
      </van-popup>

//方法
async handleOpen() {
      this.videoSrcs ='http://视频链接'
      this.isShow= true
}
handleVideoClose(){
  document.getElementById('videoPlay').pause()
  this.isShow= false
},

解决结果:

将video的autoplay属性去掉,使用.play()解决。但是还是没太懂原因,求各位大佬指点!!!

正常运行代码:

javascript 复制代码
//页面
<a @click="handleOpen()">点我打开弹窗</>
<van-popup v-model="isShow" v-if="isShow"  get-container="body" @click-overlay="handleVideoClose">
        <div class="container">
          <video v-if="isShow" id="videoPlay" class="video" controls :src="videoSrcs" preload></video>
        </div>
      </van-popup>

//方法
async handleOpen() {
      this.videoSrcs ='http://视频链接'
      this.isShow= true
      this.$nextTick(()=>{
        document.getElementById('videoPlay').play()
      })
}
handleVideoClose(){
  document.getElementById('videoPlay').pause()
  this.isShow= false
},
相关推荐
yu俞娥宝6 分钟前
Codex官网前端可抄吗?技术拆解、风险边界与合规借鉴方案
前端
一个处女座的程序猿7 分钟前
Agent之Tool:MoneyPrinterTurbo(一站式 AI 短视频生成工具)的简介、安装和使用方法、案例应用之详细攻略
人工智能·音视频·moneyprinter
总有刁民想爱朕ha15 分钟前
零基础Python开发「图片批量转MP4视频」工具,本地离线、免费无水印
开发语言·python·音视频
捧 花31 分钟前
FastAPI 基础语法:从一个完整接口理解 Web API 的设计
前端·python·fastapi·middleware
Hilaku37 分钟前
一行 CSS 新特性干掉 20 行 JavaScript ?
前端·javascript·程序员
JarvanMo1 小时前
AI 写代码暴增 161 倍,移动开发有没有变得更差?
前端
梦曦i1 小时前
RouterLink v2.5.0:H5端原生能力全面回归
前端·uni-app
小林ixn1 小时前
React + Zustand + JWT:从零实现登录鉴权与请求拦截
前端·react.js·前端框架
ai产品老杨1 小时前
视频分析网络穿透项目实战记录:内网摄像头远程调试与跨网接入手册
网络·音视频
葡萄城技术团队1 小时前
下拉多选类型单元格:在 SpreadJS 里接入 xm\-select
前端