HTML视频标签可在Firefox和其他版本中播放,但不能在Safari中播放(12.0.2)

时间:2019-06-17 08:14:06

标签: node.js safari html5-video

我有一个网页,其中有一些小视频(大小小于1 MB)低于我懒惰的折叠。它在Firefox和Chrome中正常运行。但是在Safari中失败。

在Safari的控制台中,我没有看到任何错误消息。在服务器(node.js)端,我看到视频文件已成功传输。

------- HTML代码。 ------

<video controls preload="none" width="230" poster="../assets/placeholder.jpg" class="videoCenteredInSection lazy">
    <source data-src="../assets/All-In-One.mp4" type="video/mp4">
</video>

Safari也存在使用'IntersectionObserver'进行LazyLoading的问题,因此作为后备,我只是将video.src分配为'data-src'的值,我可以看到它正常工作,因为已收到对正确视频文件的请求按节点服务器,文件将提供给Safari。

------ node.js代码---

res.writeHead(200, {'Content-Type': 'video/mp4' });
let fileContents = fs.readFileSync(fileToSend);
res.end(fileContents, 'utf-8');

无论是否使用'utf-8',我都尝试过,没有区别。在其他浏览器上有效,但不能在Safari中使用。

我看到一些帖子建议我需要支持范围标题,但是我看不到有什么帮助,因为文件很小,而且当我在视频上播放时,我也看不到任何请求到我的服务器。在浏览器的控制台中也看不到任何日志/错误。

请提出解决方法的建议。

0 个答案:

没有答案