You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

页面加载时显示video海报图而非视频初始帧的问题求助

修复方案

根因

页面首次加载时,浏览器默认会预加载视频的部分内容/元数据,优先渲染视频首帧,覆盖你设置的poster海报。

方案1(推荐):修改video标签属性

给<video>标签添加preload="none"属性,告知浏览器页面加载时不要预加载视频内容,默认就会显示poster设置的海报,鼠标移入播放时才会触发视频加载,不影响原有交互逻辑。
修改后的HTML代码如下:

<video poster="myimage.png" src="myvideo.mp4" class="myvideo" controls="" loop="" 
 width="auto" height="300" preload="none"></video>

方案2:修改JS逻辑(适合需要预加载视频的场景)

如果希望提前预加载视频,避免首次移入播放时加载卡顿,可以在页面加载完成后主动调用一次load()方法,强制重置到海报展示状态,修改后的JS代码如下:

$(document).ready(function() {
  // 页面加载完成后主动触发一次load,显示海报
  $(".myvideo").get(0).load();
  $(".myvideo").on("mouseover", function(event) {
    $(this).get(0).play();
  }).on('mouseout', function(event) {
    this.load();
  });
})

两个方案任选其一即可,原有鼠标移入播放、移出恢复海报的逻辑无需调整。

提示:你提供的代码末尾那段时间日志输出逻辑和视频功能无关,不需要可直接删除,不会影响交互效果。

内容的提问来源于stack exchange,提问作者A. Nana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:15:07