我最近遇到了一个问题,这个问题发生在 MacOS Safari (16.4) 和 iOS (16.4) 上的 Safari。我什至很难描述问题,因为老实说我根本不明白。
无论我尝试做什么(重新加载页面;清除缓存;完全关闭 Safari 并再次打开页面),有时 HTML5 视频标签不再播放。这包括具有自动播放(+ 静音等)属性的视频以及我必须通过单击它们来启动的视频。我在使用大量视频标签 (https://dev.bun.abh.eu) 并观察控制台输出的新网站上工作时首先注意到了这种行为。有趣的是,在故意破坏其他网站(重新加载很多次;清除缓存;再次重新加载(没有可观察到的模式))之后,我也能够破坏其他网页上的视频(例如:www.someform.studio )
Safari 中的控制台输出可能会提示潜在的问题:
Safari 首先尝试获取字节 0 – 1,然后请求失败的整个视频文件。 我已经阅读了一些关于设置(视频)服务器以返回正确状态 (206) 的主题,但确实如此。 Safari 仍时不时无法获取视频。
最后但同样重要的是:Chrome 和 Firefox 表现良好,一切都按预期工作。
到目前为止,我试图找出问题并从一个功能齐全的网站转移到只将视频标签放在自己身上。问题仍然存在,但发生的可能性要小得多。我已经尝试了不同的方法来包含视频文件,它们是:
01
<video muted autoplay playsinline loop controls>
<source src="test.mp4" type="video/mp4">
</video>
02
<video muted autoplay playsinline loop controls src="test.mp4"></video>
测试环境
https://dev.abh.eu/html5videotest/
提到的两个站点(开发中以及测试站点)都在运行
nginx/1.18.0
的同一台服务器上运行,我可以随意修改它。
我将测试环境移动到运行
Apache/2.4.57
的服务器,这是客户端网络服务器,无论如何我都无法自定义:问题仍然存在。
我是唯一遇到此错误的人还是其他人?
谢谢!