由于重复请求,Video元素无法加载

Video Element doesn't load due to duplicate requests

本文关键字:加载 元素 Video 于重复 请求      更新时间:2023-09-26

我的webApp(用HTML5和jQuery编写)包含一个video元素,它的源是在用户交互后动态分配的。添加了源(视频元素路径,而不是源标记)之后,我调用video-element.load(),由于某种原因,两个GET请求被发送到本地主机服务器。第一个请求的范围标头为

bytes=0-

和第二个

bytes=<FileLength>-

我的服务器(用c#编写)接受这两个请求并为它们提供服务(在一个"大"块中发送mp4文件)。但是video元素似乎是空的(blank),并且不会响应。play()。

我最大的问题是,这个问题是不一致的,它可能不会发生在一个文件,然后它会,大约一秒钟后。此外,它只发生在我的Chrome V52及以上(不发生在V51,或Firefox为例)

有人有什么想法吗?我如何检查它是否是HTML问题?JS问题?浏览器是否应该发送2个GET请求,即使我调用load()一次?

你的问题的另一个解决方案是改变你的web服务器,使它能够处理这样的请求。选项有:1. 修复它以支持部分响应块的应答(使用响应头Content-Range)2. 将其配置为完全禁用部分响应(通过在响应头

中添加Accept-Ranges:none)