我的webApp(用HTML5和jQuery编写)包含一个视频元素,其源是在用户交互后动态分配的。 在添加源(视频元素路径,而不是源标记)之后,我调用video-element.load(),并且由于某种原因,两个GET请求被发送到我的localhost服务器。 第一个请求的Range标头为
bytes=0-
和第二个
bytes=<FileLength>-
我的服务器(用C#编写)接受两个请求并为它们提供服务(在一个“大”块中发回一个mp4文件)。但视频元素似乎是空的(空白),并且不会响应.play()。
我最大的问题是这个问题不一致,文件可能不会发生,然后大约一秒钟就会发生。此外,仅在Chrome V52及更高版本上发生这种情况(例如在V51或Firefox上不会发生)
有人有任何想法吗? 如何检查它是否是HTML问题?一个JS问题?浏览器是否应该发送2个GET请求,即使我调用load()一次?
答案 0 :(得分:0)
您的问题的另一种解决方案是更改您的Web服务器,使其能够处理此类请求。 选项是: 1.修复它以支持使用部分响应块进行应答(使用响应头内容范围) 2.将其配置为完全禁用部分响应(通过向响应头添加Accept-Ranges:none