问题:动态变换video标签source的src不起作用

本文探讨了使用jQuery动态更新video标签中source源的问题。发现单纯更改src属性不会触发浏览器重新加载视频,提出了解决方案:需整体替换video标签以确保浏览器重新获取新的视频源,避免播放器仅保留初次加载的视频地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如题

参考https://blog.youkuaiyun.com/weixin_42519137/article/details/85159900

<div id="video" class="layui-form-mid layui-word-aux" >
    <video style="width: 100%;height: 150px;" controls>
        <source id="img7" src="" type="video/mp4" />
    </video>
</div>
$('#img7').attr('src',isDefine(result[0].vedio)?result[0].vedio:"");

答案如下:

通过 jQuery 确实是给 source 的 src 赋值成功,从调试来看,浏览器并没有去发起请求去获得相应的视频,
而只是单纯的将 a 标签的 data-src 中的值赋值给 source 了。

因此,可以推断出来的是,当 video 中存在 source 标签的时候,浏览器渲染之后会自动去获取地址,即便地址改变,
浏览器也不会再去获取地址。但是通过动态的插入 source 标签的方式,可以触发浏览器进行重排,从而去获取相应地址的文件进行播放。

如果直接把<source id="img7" src="" type="video/mp4" />标签替换掉的话,第一次是可以播放,但再切换别的src还是会显示第一个播放的视频的src。

所以,正确方法是连同video标签一起换了。

 

 

转载于:https://www.cnblogs.com/xi-li/p/jquery.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值