Vue.nextTick(callback)解决video.js中出现no compatible source was found for this media的问题

在Vue项目中使用video.js时遇到'no compatible source was found for this media'错误。此问题并非由Chrome禁用Flash引起,而是由于video.js的运行机制导致数据更新后DOM未及时更新。通过Vue.nextTick(callback)在DOM更新后执行回调,确保视频源和封面图片正确渲染,从而解决这个问题。

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

查了很多文章,凡在vue项目中引入video.js插件,

都会出现视频播放器中间出现一个大叉号导致视频无法播放,同时控制台出现no compatible source was found for this media的错误提醒的情况,

究竟是什么原因呢?

翻译过来是找不到匹配媒体资源:

no compatible source was found for this media  该媒体没有找到兼容的源代码。

有网友提出是因为chrome禁止了flash的加载,,只需把flash选项更改为‘允许’即可。

操作如下:

然而,我依照网友的建议,依然无效,报错情况涛声依旧。

那到底是什么情况!!!

请来大神,发出“解决不了就吃屎”的毒誓,终于搞定了这个问题!

其实解决方法很简单:Vue.nextTick()

如果不引入video.js,那么视图更新迅速,DOM元素解析和异步数据获取之后,视图就可以即时得到更新;然而由于插件video.js的运行机制,导致在获取数据之后

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值