Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制Chrome从缓存播放html5视频_Javascript_Html_Google Chrome_Video - Fatal编程技术网

Javascript 如何强制Chrome从缓存播放html5视频

Javascript 如何强制Chrome从缓存播放html5视频,javascript,html,google-chrome,video,Javascript,Html,Google Chrome,Video,我有一些mp4文件,我想用javascript一页一页地播放它们 var videoSource = new Array( cdn + "/video/1.mp4", cdn + "/video/2.mp4", cdn + "/video/3.mp4", cdn + "/video/4.mp4" ); var videoCount = videoSource.length; var i = 0; video = document.getElementByI

我有一些mp4文件,我想用javascript一页一页地播放它们

var videoSource = new Array(
    cdn + "/video/1.mp4",
    cdn + "/video/2.mp4",    
    cdn + "/video/3.mp4",
    cdn + "/video/4.mp4"
);
var videoCount = videoSource.length;
var i = 0;
video = document.getElementById("video-main");
videoPlayer = document.getElementById("video-player");
video.addEventListener('ended', function() {
    if (i == videoCount) i = 0;
    var nextVideo = videoSource[i++];
    videoPlayer.setAttribute("src", nextVideo);
    video.load();
    video.play();
});
播放列表按预期运行,但在我多次播放视频后,大多数视频仍尝试使用
HTTP 206
连接到CDN,这会增加流量

我希望所有播放的视频都能获得
HTTP304
,chrome可以从本地缓存中获得它们

我在AWS S3上主持视频,并通过CloudFront提供。 我所做的设置:

  • 在S3上设置视频元数据
    • 缓存控制:最大年龄=1296000
    • 过期时间:2038年3月27日星期一13:33:37 GMT
  • 执行chrome时,添加
    –磁盘缓存大小=1073741824

  • 顺便说一句,我使用的html5标签是。。。。这些视频有多大(文件大小)?也许它们不完全适合缓存。状态代码206表示服务器以部分内容应答,即客户端很可能只请求资源的特定部分(一个字节范围)——这本身并不坏,而是您想要的东西;因为否则,f.e.跳到视频的不同部分在完全加载(至少达到该部分)之前都不起作用。这四个视频都很小(