【vue video.js】The element or ID supplied is not valid. (videojs) element Ui

问题:使用video.js做了一个弹窗显示视频,效果如下

但是发现弹窗再次打开,视频播放失败,报错The element or ID supplied is not valid

原因是videojs找不到需要初始化的视频id,在关闭弹窗的时候需要重置video.js,并清除dom

javascript 复制代码
closeTab() {
      
      if(this.player){
        this.player.dispose()
        this.videohtml = '';
      }
      this.visible = false;
    },

在打开弹窗的函数里面增加下面代码:

javascript 复制代码
this.videohtml='<video id="currentPlayer" muted style="width: 1200px; height: 750px" class="video-js warn-video vjs-default-skin vjs-big-play-centered" controls preload="auto" crossOrigin="anonymous" :poster="tcData.pictureUrl"></video>'

创建视频的代码如下:

javascript 复制代码
    createTc() {
        this.player = videojs(`currentPlayer`, this.options);
        this.player.src([
          {
            src: this.tcData.hlsurl,
            type: "application/x-mpegURL" // 告诉videojs,这是一个hls流
          }
        ]);
    }
相关推荐
O***p60418 小时前
JavaScript在Node.js中的集群负载均衡
javascript·node.js·负载均衡
xhxxx19 小时前
prototype 是遗产,proto 是族谱:一文吃透 JS 原型链
前端·javascript
S***H28319 小时前
Vue语音识别案例
前端·vue.js·语音识别
涔溪20 小时前
通过Nginx反向代理配置连接多个后端服务器
vue.js·nginx
蚂蚁集团数据体验技术20 小时前
一个可以补充 Mermaid 的可视化组件库 Infographic
前端·javascript·llm
华仔啊21 小时前
还在用 WebSocket 做实时通信?SSE 可能更简单
前端·javascript
_AaronWong21 小时前
基于 Vue 3 的屏幕音频捕获实现:从原理到实践
前端·vue.js·音视频开发
木易士心1 天前
深入剖析:按下 F5 后,浏览器前端究竟发生了什么?
前端·javascript
在掘金801101 天前
vue3中使用medium-zoom
前端·vue.js
xump1 天前
如何在DevTools选中调试一个实时交互才能显示的元素样式
前端·javascript·css