vue中动态设置source标签

项目中有个视频播放,路径通过接口返回,而且不带后缀,并不确定是什么类型的视频文件,所以要通过source标签去进行设置.

问题 :当video中存在source标签的时候,浏览器渲染之后会自动去获取地址,即便地址改变,浏览器也不会再去获取地址。
解决方法 :通过动态的插入source标签的方式,可以触发浏览器进行重排,从而去获取相应地址的文件进行播放。
代码示例:

复制代码
<template>
  <video ref="videoPlayer" controls loop></video>
 </template>
 <script>
 export default {
  mounted(){
    this.getVideo();
  },
  methods: {
    getVideo(){
      new Promise((resolve,reject)=>{
        resolve('https://www.runoob.com/try/demo_source/movie')
      }).then(res=>{
        this.$refs.videoPlayer.innerHTML=`
          <source src="${res}.ogg" type="video/ogg">
          <source src="${res}.mp4" type="video/mp4">
          <source src="${res}.webm" type="video/webm">
          您的浏览器不支持 video 标签。
        `
      })
    }
  }
 }
 </script>
相关推荐
安迪小宝2 分钟前
python基础语法13-装饰器
开发语言·前端·python
Moon_su21 分钟前
vue中路由回退数据缓存的最佳实践
vue.js
鸿蒙场景化示例代码技术工程师23 分钟前
实现文件List拖动鸿蒙示例代码
前端
Rachel_wang29 分钟前
React 使用 i18next 实现国际语言切换翻译
前端
小白探索世界欧耶!~29 分钟前
【踩坑】GitHub Actions 运行的 Linux 环境中,文件名是大小写敏感的
linux·运维·服务器·前端·vue.js·笔记·github
Simon—欧阳33 分钟前
C#异步方法返回Task<T>的同步调用
开发语言·前端·javascript
天生我材必有用_吴用38 分钟前
vue3实战三、Axios封装结合mock数据,vite跨域及环境变量配置 入口
前端
天生我材必有用_吴用39 分钟前
vue3实战二、搭建Vue+ElementPlus项目教程 入口
前端
天生我材必有用_吴用43 分钟前
Vue3实战七、登录认证与退出登录
前端
逆袭的小黄鸭44 分钟前
JavaScript DOM 事件流:从基础传播到高级控制与自定义实践
前端·javascript