在Chrome中,由于某种原因,在页面中,如果我为currentTime
标记设置了<video id="player" preload="metadata" playsinline>
,它就不会更新。例如,如果我设置了document.getElementById('player').currentTime = 5
,它就不会更新。从0开始播放。
我在另一个页面中添加了相同的代码,但是在Chrome中没有任何问题,它运行正常。在Firefox中,两个页面都可以正常工作。
仅供参考,我正在尝试使用自定义视频控件并设置当前时间来搜索视频。只有在这种情况下,它才能起作用。
我不知道发生了什么。请提供任何建议。
答案 0 :(得分:0)
您应该仅在设置.currentTime之后加载视频。
尝试一下:
let player = document.getElementById('player');
preload(player, 5);
function preload(elem, time){
elem.setAttribute('preload', 'auto');
elem.addEventListener('canplaythrough', setCurrentTime);
function setCurrentTime(){
elem.currentTime = time;
elem.setAttribute('preload','none');
elem.removeEventListener('canplaythrough', setCurrentTime);
}
}