把 video.js 从 7.21 升到 8.6,控制条整体上移 30px,播放按钮跑到画面外,皮肤 CSS 还是 7.x 那一份。日志里能对上时间点,这种反而好排。

8.x 改了控制条的 DOM 结构和默认类名,旧皮肤的选择器对不上,绝对定位的 bottom 值失效。项目里还引了两份 skin.css,后加载的把前面覆盖了。这一点先确认清楚,后面就不用反复试。

npm ls video.js
# 期望只有 8.6.x 一个版本
ls node_modules/video.js/dist/*.css

「播放器升级控件错位」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。

日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

处理上按这个顺序:把皮肤样式同步升到 8.x 对应版本;删掉重复引入的那份 skin.css;用开发者工具核对控制条容器的类名和计算高度。

结果对不对很好判断,控制条回到画面底部,播放按钮和进度条位置正常,控制台没有样式 404。

作者 9823189