使用video.load()后无法从本地缓存中读取HTML5视频

时间:2016-01-27 08:24:00

标签: javascript html5 html5-video

我想从本地缓存中播放mp4视频列表以节省网络流量。 我很确定视频是在我的缓存中,因为当我在视频源上手动切换文件1.mp4,2.mp4,3.mp4,4.mp4时,"网络" Chrome开发工具面板显示文件是从缓存提供的,即使它返回HTTP 206。

当我尝试将javascript用于视频播放列表时,在加载新视频后,chrome开始错过缓存并尝试从互联网获取视频,从而节省网络流量。

  

video.load();

有没有办法让chrome从缓存中加载视频?

浏览器: Chrome ver.50

HTML:

<div id="video">
  <video id="video-ads" autoplay preload="none">
    <source id="video-source" src="https://foo.bar.net/video/1.mp4">
  </video>
</div>

JavaScript的:

var cdn = "https://foo.bar.net";    
var playList = new Array(
    cdn + "/video/1.mp4",    
    cdn + "/video/2.mp4",
    cdn + "/video/3.mp4"
);
var videoCount = playList.length;
var i = 0;
video = document.getElementById("video-ads");
videoSource = document.getElementById("video-source");
video.addEventListener('ended', function() {
    if (i == videoCount) i = 0;
    var nextVideo = playList[i++];
    videoSource.setAttribute("src", nextVideo);  
    video.load();
    video.play();
});

0 个答案:

没有答案